From d9d4c7d8fa0788057cbce76efda1318bce0b8d44 Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Thu, 14 Oct 2021 18:27:18 +0530 Subject: [PATCH 01/33] WIP --- lib/custom_wizard/guardian.rb | 33 +++++++++++++++++++ plugin.rb | 1 + .../components/custom_wizard/guardian_spec.rb | 6 ++++ 3 files changed, 40 insertions(+) create mode 100644 lib/custom_wizard/guardian.rb create mode 100644 spec/components/custom_wizard/guardian_spec.rb diff --git a/lib/custom_wizard/guardian.rb b/lib/custom_wizard/guardian.rb new file mode 100644 index 00000000..c453f509 --- /dev/null +++ b/lib/custom_wizard/guardian.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true +class CustomWizard::Guardian + def initialize(user) + @user = user + end + + def can_edit_topic?(topic) + creating_wizard = topic.wizard_created.presence + return false unless creating_wizard + + wizard_builder = CustomWizard::Builder.new(creating_wizard, @user) + wizard = wizard_builder.build + wizard_actions = wizard.actions + return false if wizard_actions.empty? + + create_topic_action = wizard_actions.find do |action| + action['type'] === 'create_topic' + end + + return wizard_can_create_topic_on_category?(action, topic) + end + + private + + def wizard_can_create_topic_on_category?(action, topic) + return false unless topic.category.present? + + category = CustomWizard::Mapper.new( + inputs: action['category'], + data: + ) + end +end diff --git a/plugin.rb b/plugin.rb index 7e8c50e9..d412c76b 100644 --- a/plugin.rb +++ b/plugin.rb @@ -86,6 +86,7 @@ after_initialize do ../lib/custom_wizard/submission.rb ../lib/custom_wizard/template.rb ../lib/custom_wizard/wizard.rb + ../lib/custom_wizard/guardian.rb ../lib/custom_wizard/api/api.rb ../lib/custom_wizard/api/authorization.rb ../lib/custom_wizard/api/endpoint.rb diff --git a/spec/components/custom_wizard/guardian_spec.rb b/spec/components/custom_wizard/guardian_spec.rb new file mode 100644 index 00000000..bb7578d2 --- /dev/null +++ b/spec/components/custom_wizard/guardian_spec.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true +require_relative '../../plugin_helper' + +describe CustomWizard::Guardian do + +end From 687c3530b388ba1c87cad3447b6ef7d909097478 Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Tue, 19 Oct 2021 09:05:55 +0530 Subject: [PATCH 02/33] WIP --- extensions/guardian.rb | 59 ++++++++++++++++ lib/custom_wizard/action.rb | 8 ++- lib/custom_wizard/guardian.rb | 33 --------- plugin.rb | 11 ++- .../components/custom_wizard/guardian_spec.rb | 6 -- spec/extensions/guardian_extension_spec.rb | 68 +++++++++++++++++++ 6 files changed, 144 insertions(+), 41 deletions(-) create mode 100644 extensions/guardian.rb delete mode 100644 lib/custom_wizard/guardian.rb delete mode 100644 spec/components/custom_wizard/guardian_spec.rb create mode 100644 spec/extensions/guardian_extension_spec.rb diff --git a/extensions/guardian.rb b/extensions/guardian.rb new file mode 100644 index 00000000..2474b49b --- /dev/null +++ b/extensions/guardian.rb @@ -0,0 +1,59 @@ +# frozen_string_literal: true +module CustomWizardGuardian + def can_see_topic?(topic, hide_deleted = true) + wizard_user_can_create_topic_on_category?(topic) || super + end + + def can_edit_topic?(topic) + wizard_user_can_create_topic_on_category?(topic) || super + end + + def can_create_post?(parent) + result = parent.present? ? wizard_user_can_create_topic_on_category?(parent) : false + result || super + end + + private + + def wizard_user_can_create_topic_on_category?(topic) + wizard = creating_wizard(topic) + (wizard.present? && wizard.permitted? && wizard_can_create_topic_on_category?(wizard, topic)) + end + + def creating_wizard(topic) + wizard_id = topic.wizard_created.presence + wizard = CustomWizard::Builder.new(wizard_id, @user).build if wizard_id + return wizard.presence + end + + def wizard_can_create_topic_on_category?(wizard, topic) + return false unless topic.category.present? + + wizard_actions = wizard.actions + return false if wizard_actions.empty? + + create_topic_actions = wizard_actions.select do |action| + action['type'] === 'create_topic' + end + + submission_data = begin + submissions = CustomWizard::Submission.list(wizard) + submissions.find { |sub| sub.id == topic.wizard_submission }&.fields_and_meta + end + + categories = wizard_actions.map do |action| + category = CustomWizard::Mapper.new( + inputs: action['category'], + data: submission_data, + user: @user + ).perform + + category + end + + categories.flatten! + + return true if categories.include?(topic.category.id) + false + end +end diff --git a/lib/custom_wizard/action.rb b/lib/custom_wizard/action.rb index 9245a591..b2ce05bc7 100644 --- a/lib/custom_wizard/action.rb +++ b/lib/custom_wizard/action.rb @@ -514,7 +514,13 @@ class CustomWizard::Action def basic_topic_params params = { - skip_validations: true + skip_validations: true, + topic_opts: { + custom_fields: { + wizard_created: @wizard.id, + wizard_submission: @wizard.current_submission.id + } + } } params[:title] = CustomWizard::Mapper.new( diff --git a/lib/custom_wizard/guardian.rb b/lib/custom_wizard/guardian.rb deleted file mode 100644 index c453f509..00000000 --- a/lib/custom_wizard/guardian.rb +++ /dev/null @@ -1,33 +0,0 @@ -# frozen_string_literal: true -class CustomWizard::Guardian - def initialize(user) - @user = user - end - - def can_edit_topic?(topic) - creating_wizard = topic.wizard_created.presence - return false unless creating_wizard - - wizard_builder = CustomWizard::Builder.new(creating_wizard, @user) - wizard = wizard_builder.build - wizard_actions = wizard.actions - return false if wizard_actions.empty? - - create_topic_action = wizard_actions.find do |action| - action['type'] === 'create_topic' - end - - return wizard_can_create_topic_on_category?(action, topic) - end - - private - - def wizard_can_create_topic_on_category?(action, topic) - return false unless topic.category.present? - - category = CustomWizard::Mapper.new( - inputs: action['category'], - data: - ) - end -end diff --git a/plugin.rb b/plugin.rb index d412c76b..1592ac30 100644 --- a/plugin.rb +++ b/plugin.rb @@ -86,7 +86,6 @@ after_initialize do ../lib/custom_wizard/submission.rb ../lib/custom_wizard/template.rb ../lib/custom_wizard/wizard.rb - ../lib/custom_wizard/guardian.rb ../lib/custom_wizard/api/api.rb ../lib/custom_wizard/api/authorization.rb ../lib/custom_wizard/api/endpoint.rb @@ -109,6 +108,7 @@ after_initialize do ../serializers/custom_wizard/realtime_validation/similar_topics_serializer.rb ../extensions/extra_locales_controller.rb ../extensions/invites_controller.rb + ../extensions/guardian.rb ../extensions/users_controller.rb ../extensions/custom_field/preloader.rb ../extensions/custom_field/serializer.rb @@ -119,6 +119,14 @@ after_initialize do Liquid::Template.register_filter(::CustomWizard::LiquidFilter::FirstNonEmpty) + add_to_class(:topic, :wizard_created) do + custom_fields['wizard_created'] + end + + add_to_class(:topic, :wizard_submission) do + custom_fields['wizard_submission'] + end + add_class_method(:wizard, :user_requires_completion?) do |user| wizard_result = self.new(user).requires_completion? return wizard_result if wizard_result @@ -192,6 +200,7 @@ after_initialize do ::ExtraLocalesController.prepend ExtraLocalesControllerCustomWizard ::InvitesController.prepend InvitesControllerCustomWizard ::UsersController.prepend CustomWizardUsersController + ::Guardian.prepend CustomWizardGuardian full_path = "#{Rails.root}/plugins/discourse-custom-wizard/assets/stylesheets/wizard/wizard_custom.scss" if Stylesheet::Importer.respond_to?(:plugin_assets) diff --git a/spec/components/custom_wizard/guardian_spec.rb b/spec/components/custom_wizard/guardian_spec.rb deleted file mode 100644 index bb7578d2..00000000 --- a/spec/components/custom_wizard/guardian_spec.rb +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true -require_relative '../../plugin_helper' - -describe CustomWizard::Guardian do - -end diff --git a/spec/extensions/guardian_extension_spec.rb b/spec/extensions/guardian_extension_spec.rb new file mode 100644 index 00000000..09edd1d6 --- /dev/null +++ b/spec/extensions/guardian_extension_spec.rb @@ -0,0 +1,68 @@ +# frozen_string_literal: true +require_relative '../plugin_helper' + +describe ::Guardian do + fab!(:user) { + Fabricate(:user, name: "Angus", username: 'angus', email: "angus@email.com") + } + fab!(:category) { Fabricate(:category, name: 'cat1', slug: 'cat-slug') } + let(:wizard_template) { + JSON.parse( + File.open( + "#{Rails.root}/plugins/discourse-custom-wizard/spec/fixtures/wizard.json" + ).read + ) + } + + before do + CustomWizard::Template.save(wizard_template, skip_jobs: true) + @template = CustomWizard::Template.find('super_mega_fun_wizard') + end + + context "the user has access to creating wizard" do + it "allows editing the topic first post" do + wizard = CustomWizard::Builder.new(@template[:id], user).build + + wizard.create_updater( + wizard.steps.first.id, + step_1_field_1: "Topic Title", + step_1_field_2: "topic body" + ).update + wizard.create_updater(wizard.steps.second.id, {}).update + wizard.create_updater(wizard.steps.last.id, + step_3_field_3: category.id + ).update + + topic = Topic.where( + title: "Topic Title", + category_id: category.id + ).first + + expect(user.guardian.send(:wizard_user_can_create_topic_on_category?, topic)).to be_truthy + end + end + + context "the user doesn't have access to creating wizard" do + it "restricts editing the topic first post" do + wizard = CustomWizard::Builder.new(@template[:id], user).build + CustomWizard::Wizard.any_instance.stubs(:permitted?).returns(false) + + wizard.create_updater( + wizard.steps.first.id, + step_1_field_1: "Topic Title", + step_1_field_2: "topic body" + ).update + wizard.create_updater(wizard.steps.second.id, {}).update + wizard.create_updater(wizard.steps.last.id, + step_3_field_3: category.id + ).update + + topic = Topic.where( + title: "Topic Title", + category_id: category.id + ).first + + expect(user.guardian.send(:wizard_user_can_create_topic_on_category?, topic)).to be_falsey + end + end +end From dec5f5b5cebaf8d872056ee792c69323e0b95d31 Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Sat, 30 Oct 2021 16:03:30 +0530 Subject: [PATCH 03/33] added more specs and fixed formatting --- extensions/guardian.rb | 4 +-- spec/extensions/guardian_extension_spec.rb | 29 +++++++++++++++++++++- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/extensions/guardian.rb b/extensions/guardian.rb index 2474b49b..f00cf9e8 100644 --- a/extensions/guardian.rb +++ b/extensions/guardian.rb @@ -9,7 +9,7 @@ module CustomWizardGuardian end def can_create_post?(parent) - result = parent.present? ? wizard_user_can_create_topic_on_category?(parent) : false + result = parent.present? ? wizard_user_can_create_topic_on_category?(parent) : false result || super end @@ -23,7 +23,7 @@ module CustomWizardGuardian def creating_wizard(topic) wizard_id = topic.wizard_created.presence wizard = CustomWizard::Builder.new(wizard_id, @user).build if wizard_id - return wizard.presence + wizard.presence end def wizard_can_create_topic_on_category?(wizard, topic) diff --git a/spec/extensions/guardian_extension_spec.rb b/spec/extensions/guardian_extension_spec.rb index 09edd1d6..50e2ebe4 100644 --- a/spec/extensions/guardian_extension_spec.rb +++ b/spec/extensions/guardian_extension_spec.rb @@ -2,7 +2,7 @@ require_relative '../plugin_helper' describe ::Guardian do - fab!(:user) { + fab!(:user) { Fabricate(:user, name: "Angus", username: 'angus', email: "angus@email.com") } fab!(:category) { Fabricate(:category, name: 'cat1', slug: 'cat-slug') } @@ -65,4 +65,31 @@ describe ::Guardian do expect(user.guardian.send(:wizard_user_can_create_topic_on_category?, topic)).to be_falsey end end + + context "the wizard can't create a topic in the category" do + it "restricts editing the topic first post" do + wizard = CustomWizard::Builder.new(@template[:id], user).build + wizard.create_updater( + wizard.steps.first.id, + step_1_field_1: "Topic Title", + step_1_field_2: "topic body" + ).update + wizard.create_updater(wizard.steps.second.id, {}).update + wizard.create_updater(wizard.steps.last.id, + step_3_field_3: category.id + ).update + + topic = Topic.where( + title: "Topic Title", + category_id: category.id + ).first + + new_category = Fabricate(:category) + topic.category_id = new_category.id + topic.save + topic.reload + + expect(user.guardian.send(:wizard_user_can_create_topic_on_category?, topic)).to be_falsey + end + end end From b7575a3295265e06ebf2e6203d326cccfc177f28 Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Sat, 30 Oct 2021 16:07:16 +0530 Subject: [PATCH 04/33] use standard naming for custom fields --- extensions/guardian.rb | 4 ++-- lib/custom_wizard/action.rb | 4 ++-- plugin.rb | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/extensions/guardian.rb b/extensions/guardian.rb index f00cf9e8..96ceda93 100644 --- a/extensions/guardian.rb +++ b/extensions/guardian.rb @@ -21,7 +21,7 @@ module CustomWizardGuardian end def creating_wizard(topic) - wizard_id = topic.wizard_created.presence + wizard_id = topic.wizard_id.presence wizard = CustomWizard::Builder.new(wizard_id, @user).build if wizard_id wizard.presence end @@ -38,7 +38,7 @@ module CustomWizardGuardian submission_data = begin submissions = CustomWizard::Submission.list(wizard) - submissions.find { |sub| sub.id == topic.wizard_submission }&.fields_and_meta + submissions.find { |sub| sub.id == topic.wizard_submission_id }&.fields_and_meta end categories = wizard_actions.map do |action| diff --git a/lib/custom_wizard/action.rb b/lib/custom_wizard/action.rb index b2ce05bc7..0c2532ef 100644 --- a/lib/custom_wizard/action.rb +++ b/lib/custom_wizard/action.rb @@ -517,8 +517,8 @@ class CustomWizard::Action skip_validations: true, topic_opts: { custom_fields: { - wizard_created: @wizard.id, - wizard_submission: @wizard.current_submission.id + wizard_id: @wizard.id, + wizard_submission_id: @wizard.current_submission.id } } } diff --git a/plugin.rb b/plugin.rb index 4dbce4b4..961e45cd 100644 --- a/plugin.rb +++ b/plugin.rb @@ -119,12 +119,12 @@ after_initialize do Liquid::Template.register_filter(::CustomWizard::LiquidFilter::FirstNonEmpty) - add_to_class(:topic, :wizard_created) do - custom_fields['wizard_created'] + add_to_class(:topic, :wizard_id) do + custom_fields['wizard_id'] end - add_to_class(:topic, :wizard_submission) do - custom_fields['wizard_submission'] + add_to_class(:topic, :wizard_submission_id) do + custom_fields['wizard_submission_id'] end add_class_method(:wizard, :user_requires_completion?) do |user| From 4b0008ee52025015d23b3e09b1dacd0dda420898 Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Sat, 30 Oct 2021 16:09:38 +0530 Subject: [PATCH 05/33] version bump --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index 961e45cd..532e69e8 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # name: discourse-custom-wizard # about: Create custom wizards -# version: 1.15.2 +# version: 1.15.3 # authors: Angus McLeod # url: https://github.com/paviliondev/discourse-custom-wizard # contact emails: angus@thepavilion.io From 9f0b08a37e4fcf6281bb1646c2c34af848fc2772 Mon Sep 17 00:00:00 2001 From: Keegan George Date: Wed, 26 Jan 2022 06:20:50 -0800 Subject: [PATCH 06/33] Update Crowdin configuration file --- crowdin.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 crowdin.yml diff --git a/crowdin.yml b/crowdin.yml new file mode 100644 index 00000000..70be20e5 --- /dev/null +++ b/crowdin.yml @@ -0,0 +1,5 @@ +files: + - source: /config/locales/client.en.yml + translation: /config/locales/client.%two_letters_code%.yml + - source: /config/locales/server.en.yml + translation: /config/locales/server.%two_letters_code%.yml From c9e243f3d841898e2eeb29ff47b9ab74101d5a12 Mon Sep 17 00:00:00 2001 From: Keegan George Date: Wed, 26 Jan 2022 09:37:31 -0800 Subject: [PATCH 07/33] DEV: Add PR title for translations --- crowdin.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/crowdin.yml b/crowdin.yml index 70be20e5..9e900364 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,3 +1,4 @@ +pull_request_title: 'I18n: Update translations' files: - source: /config/locales/client.en.yml translation: /config/locales/client.%two_letters_code%.yml From f5a35baa1bc3ee28246cd6721127feac4c26146f Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Mon, 31 Jan 2022 12:50:20 +0530 Subject: [PATCH 08/33] simplified logic --- extensions/guardian.rb | 62 +++----------- lib/custom_wizard/action.rb | 1 - plugin.rb | 4 - spec/extensions/guardian_extension_spec.rb | 94 +++++++--------------- 4 files changed, 40 insertions(+), 121 deletions(-) diff --git a/extensions/guardian.rb b/extensions/guardian.rb index 96ceda93..bbfe6f41 100644 --- a/extensions/guardian.rb +++ b/extensions/guardian.rb @@ -1,59 +1,17 @@ # frozen_string_literal: true + module CustomWizardGuardian - def can_see_topic?(topic, hide_deleted = true) - wizard_user_can_create_topic_on_category?(topic) || super - end - def can_edit_topic?(topic) - wizard_user_can_create_topic_on_category?(topic) || super + wizard_can_edit_topic?(topic) || super end - def can_create_post?(parent) - result = parent.present? ? wizard_user_can_create_topic_on_category?(parent) : false - result || super - end - - private - - def wizard_user_can_create_topic_on_category?(topic) - wizard = creating_wizard(topic) - (wizard.present? && wizard.permitted? && wizard_can_create_topic_on_category?(wizard, topic)) - end - - def creating_wizard(topic) - wizard_id = topic.wizard_id.presence - wizard = CustomWizard::Builder.new(wizard_id, @user).build if wizard_id - wizard.presence - end - - def wizard_can_create_topic_on_category?(wizard, topic) - return false unless topic.category.present? - - wizard_actions = wizard.actions - return false if wizard_actions.empty? - - create_topic_actions = wizard_actions.select do |action| - action['type'] === 'create_topic' - end - - submission_data = begin - submissions = CustomWizard::Submission.list(wizard) - submissions.find { |sub| sub.id == topic.wizard_submission_id }&.fields_and_meta - end - - categories = wizard_actions.map do |action| - category = CustomWizard::Mapper.new( - inputs: action['category'], - data: submission_data, - user: @user - ).perform - - category - end - - categories.flatten! - - return true if categories.include?(topic.category.id) - false + def wizard_can_edit_topic?(topic) + created_by_wizard = !!topic.wizard_submission_id + ( + is_my_own?(topic) && + created_by_wizard && + can_see_topic?(topic) && + can_create_post_on_topic?(topic) + ) end end diff --git a/lib/custom_wizard/action.rb b/lib/custom_wizard/action.rb index 0c2532ef..1e1c410c 100644 --- a/lib/custom_wizard/action.rb +++ b/lib/custom_wizard/action.rb @@ -517,7 +517,6 @@ class CustomWizard::Action skip_validations: true, topic_opts: { custom_fields: { - wizard_id: @wizard.id, wizard_submission_id: @wizard.current_submission.id } } diff --git a/plugin.rb b/plugin.rb index dbdf8cd5..94f9059b 100644 --- a/plugin.rb +++ b/plugin.rb @@ -126,10 +126,6 @@ after_initialize do Liquid::Template.register_filter(::CustomWizard::LiquidFilter::FirstNonEmpty) - add_to_class(:topic, :wizard_id) do - custom_fields['wizard_id'] - end - add_to_class(:topic, :wizard_submission_id) do custom_fields['wizard_submission_id'] end diff --git a/spec/extensions/guardian_extension_spec.rb b/spec/extensions/guardian_extension_spec.rb index 50e2ebe4..d779fe11 100644 --- a/spec/extensions/guardian_extension_spec.rb +++ b/spec/extensions/guardian_extension_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require_relative '../plugin_helper' describe ::Guardian do @@ -14,82 +15,47 @@ describe ::Guardian do ) } + def create_topic_by_wizard(wizard) + wizard.create_updater( + wizard.steps.first.id, + step_1_field_1: "Topic Title", + step_1_field_2: "topic body" + ).update + wizard.create_updater(wizard.steps.second.id, {}).update + wizard.create_updater(wizard.steps.last.id, + step_3_field_3: category.id + ).update + + topic = Topic.where( + title: "Topic Title", + category_id: category.id + ).first + + topic + end + before do CustomWizard::Template.save(wizard_template, skip_jobs: true) @template = CustomWizard::Template.find('super_mega_fun_wizard') end - context "the user has access to creating wizard" do + context "topic created by user using wizard" do it "allows editing the topic first post" do wizard = CustomWizard::Builder.new(@template[:id], user).build - - wizard.create_updater( - wizard.steps.first.id, - step_1_field_1: "Topic Title", - step_1_field_2: "topic body" - ).update - wizard.create_updater(wizard.steps.second.id, {}).update - wizard.create_updater(wizard.steps.last.id, - step_3_field_3: category.id - ).update - - topic = Topic.where( - title: "Topic Title", - category_id: category.id - ).first - - expect(user.guardian.send(:wizard_user_can_create_topic_on_category?, topic)).to be_truthy + topic = create_topic_by_wizard(wizard) + expect(user.guardian.wizard_can_edit_topic?(topic)).to be_truthy end end - context "the user doesn't have access to creating wizard" do + context "topic created by user without wizard" do it "restricts editing the topic first post" do - wizard = CustomWizard::Builder.new(@template[:id], user).build - CustomWizard::Wizard.any_instance.stubs(:permitted?).returns(false) - - wizard.create_updater( - wizard.steps.first.id, - step_1_field_1: "Topic Title", - step_1_field_2: "topic body" - ).update - wizard.create_updater(wizard.steps.second.id, {}).update - wizard.create_updater(wizard.steps.last.id, - step_3_field_3: category.id - ).update - - topic = Topic.where( + topic_params = { title: "Topic Title", - category_id: category.id - ).first - - expect(user.guardian.send(:wizard_user_can_create_topic_on_category?, topic)).to be_falsey - end - end - - context "the wizard can't create a topic in the category" do - it "restricts editing the topic first post" do - wizard = CustomWizard::Builder.new(@template[:id], user).build - wizard.create_updater( - wizard.steps.first.id, - step_1_field_1: "Topic Title", - step_1_field_2: "topic body" - ).update - wizard.create_updater(wizard.steps.second.id, {}).update - wizard.create_updater(wizard.steps.last.id, - step_3_field_3: category.id - ).update - - topic = Topic.where( - title: "Topic Title", - category_id: category.id - ).first - - new_category = Fabricate(:category) - topic.category_id = new_category.id - topic.save - topic.reload - - expect(user.guardian.send(:wizard_user_can_create_topic_on_category?, topic)).to be_falsey + raw: "Topic body", + skip_validations: true + } + post = PostCreator.new(user, topic_params).create + expect(user.guardian.wizard_can_edit_topic?(post.topic)).to be_falsey end end end From 5e5b5e67ee521ee38dd87df1b51368ad74384f00 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Mon, 31 Jan 2022 17:18:04 +0800 Subject: [PATCH 09/33] FIX: Cache valid directs and only allow one type in a template (#176) * Cache valid directs and only allow one type in a template * Add spec * Bump version * Bump version * Exclude current wizard from other_after_signup --- config/locales/server.en.yml | 4 +- controllers/custom_wizard/steps.rb | 2 +- controllers/custom_wizard/wizard.rb | 12 +-- coverage/.last_run.json | 2 +- extensions/invites_controller.rb | 2 +- jobs/set_after_time_wizard.rb | 2 + lib/custom_wizard/template.rb | 47 ++++++++++-- lib/custom_wizard/validators/template.rb | 27 +++++-- lib/custom_wizard/wizard.rb | 24 ++++-- plugin.rb | 30 +++++--- .../custom_wizard/template_validator_spec.rb | 32 ++++++++ .../admin/manager_controller_spec.rb | 3 - .../application_controller_spec.rb | 73 +++++++++++++++---- .../custom_wizard/wizard_controller_spec.rb | 9 +++ 14 files changed, 212 insertions(+), 57 deletions(-) diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 7e507450..88e945f9 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -48,7 +48,9 @@ en: validation: required: "%{property} is required" conflict: "Wizard with id '%{wizard_id}' already exists" - after_time: "After time setting is invalid" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." site_settings: custom_wizard_enabled: "Enable custom wizards." diff --git a/controllers/custom_wizard/steps.rb b/controllers/custom_wizard/steps.rb index 66ec2da9..df3c2cb3 100644 --- a/controllers/custom_wizard/steps.rb +++ b/controllers/custom_wizard/steps.rb @@ -54,7 +54,7 @@ class CustomWizard::StepsController < ::ApplicationController updater.result[:redirect_on_complete] = redirect end - @wizard.final_cleanup! + @wizard.cleanup_on_complete! result[:final] = true else diff --git a/controllers/custom_wizard/wizard.rb b/controllers/custom_wizard/wizard.rb index 99add54d..854d1e39 100644 --- a/controllers/custom_wizard/wizard.rb +++ b/controllers/custom_wizard/wizard.rb @@ -60,17 +60,13 @@ class CustomWizard::WizardController < ::ApplicationController end result = success_json - user = current_user - if user && wizard.can_access? - submission = wizard.current_submission - - if submission.present? && submission.redirect_to - result.merge!(redirect_to: submission.redirect_to) + if current_user && wizard.can_access? + if redirect_to = wizard.current_submission&.redirect_to + result.merge!(redirect_to: redirect_to) end - submission.remove if submission.present? - wizard.reset + wizard.cleanup_on_skip! end render json: result diff --git a/coverage/.last_run.json b/coverage/.last_run.json index 2d4d0378..a2dfb49e 100644 --- a/coverage/.last_run.json +++ b/coverage/.last_run.json @@ -1,5 +1,5 @@ { "result": { - "line": 91.83 + "line": 92.52 } } diff --git a/extensions/invites_controller.rb b/extensions/invites_controller.rb index 5e0094da..e23cf265 100644 --- a/extensions/invites_controller.rb +++ b/extensions/invites_controller.rb @@ -2,7 +2,7 @@ module InvitesControllerCustomWizard def path(url) if ::Wizard.user_requires_completion?(@user) - wizard_id = @user.custom_fields['redirect_to_wizard'] + wizard_id = @user.redirect_to_wizard if wizard_id && url != '/' CustomWizard::Wizard.set_wizard_redirect(@user, wizard_id, url) diff --git a/jobs/set_after_time_wizard.rb b/jobs/set_after_time_wizard.rb index 7a5b86c6..a8935c8a 100644 --- a/jobs/set_after_time_wizard.rb +++ b/jobs/set_after_time_wizard.rb @@ -14,6 +14,8 @@ module Jobs end end + CustomWizard::Template.clear_cache_keys + MessageBus.publish "/redirect_to_wizard", wizard.id, user_ids: user_ids end end diff --git a/lib/custom_wizard/template.rb b/lib/custom_wizard/template.rb index 8e944dca..b57ebbd8 100644 --- a/lib/custom_wizard/template.rb +++ b/lib/custom_wizard/template.rb @@ -3,6 +3,9 @@ class CustomWizard::Template include HasErrors + AFTER_SIGNUP_CACHE_KEY ||= "after_signup_wizard_ids" + AFTER_TIME_CACHE_KEY ||= "after_time_wizard_ids" + attr_reader :data, :opts, :steps, @@ -28,6 +31,8 @@ class CustomWizard::Template PluginStore.set(CustomWizard::PLUGIN_NAME, @data[:id], @data) end + self.class.clear_cache_keys + @data[:id] end @@ -53,10 +58,10 @@ class CustomWizard::Template ActiveRecord::Base.transaction do PluginStore.remove(CustomWizard::PLUGIN_NAME, wizard.id) - clear_user_wizard_redirect(wizard_id) + clear_user_wizard_redirect(wizard_id, after_time: !!wizard.after_time) end - Jobs.cancel_scheduled_job(:set_after_time_wizard) if wizard.after_time + clear_cache_keys true end @@ -65,9 +70,10 @@ class CustomWizard::Template PluginStoreRow.exists?(plugin_name: 'custom_wizard', key: wizard_id) end - def self.list(setting: nil, order: :id) + def self.list(setting: nil, query_str: nil, order: :id) query = "plugin_name = 'custom_wizard'" - query += "AND (value::json ->> '#{setting}')::boolean IS TRUE" if setting + query += " AND (value::json ->> '#{setting}')::boolean IS TRUE" if setting + query += " #{query_str}" if query_str PluginStoreRow.where(query).order(order) .reduce([]) do |result, record| @@ -85,8 +91,36 @@ class CustomWizard::Template end end - def self.clear_user_wizard_redirect(wizard_id) + def self.clear_user_wizard_redirect(wizard_id, after_time: false) UserCustomField.where(name: 'redirect_to_wizard', value: wizard_id).destroy_all + + if after_time + Jobs.cancel_scheduled_job(:set_after_time_wizard, wizard_id: wizard_id) + end + end + + def self.after_signup_ids + ::CustomWizard::Cache.wrap(AFTER_SIGNUP_CACHE_KEY) do + list(setting: 'after_signup').map { |t| t['id'] } + end + end + + def self.after_time_ids + ::CustomWizard::Cache.wrap(AFTER_TIME_CACHE_KEY) do + list( + setting: 'after_time', + query_str: "AND (value::json ->> 'after_time_scheduled')::timestamp < CURRENT_TIMESTAMP" + ).map { |t| t['id'] } + end + end + + def self.can_redirect_users?(wizard_id) + after_signup_ids.include?(wizard_id) || after_time_ids.include?(wizard_id) + end + + def self.clear_cache_keys + CustomWizard::Cache.new(AFTER_SIGNUP_CACHE_KEY).delete + CustomWizard::Cache.new(AFTER_TIME_CACHE_KEY).delete end private @@ -132,8 +166,7 @@ class CustomWizard::Template Jobs.cancel_scheduled_job(:set_after_time_wizard, wizard_id: wizard_id) Jobs.enqueue_at(enqueue_wizard_at, :set_after_time_wizard, wizard_id: wizard_id) elsif old_data && old_data[:after_time] - Jobs.cancel_scheduled_job(:set_after_time_wizard, wizard_id: wizard_id) - self.class.clear_user_wizard_redirect(wizard_id) + clear_user_wizard_redirect(wizard_id, after_time: true) end end end diff --git a/lib/custom_wizard/validators/template.rb b/lib/custom_wizard/validators/template.rb index d4a8367f..5c3f5218 100644 --- a/lib/custom_wizard/validators/template.rb +++ b/lib/custom_wizard/validators/template.rb @@ -13,8 +13,11 @@ class CustomWizard::TemplateValidator check_id(data, :wizard) check_required(data, :wizard) + validate_after_signup validate_after_time + return false if errors.any? + data[:steps].each do |step| check_required(step, :step) @@ -31,11 +34,7 @@ class CustomWizard::TemplateValidator end end - if errors.any? - false - else - true - end + !errors.any? end def self.required @@ -63,8 +62,24 @@ class CustomWizard::TemplateValidator end end + def validate_after_signup + return unless ActiveRecord::Type::Boolean.new.cast(@data[:after_signup]) + + other_after_signup = CustomWizard::Template.list(setting: 'after_signup') + .select { |template| template['id'] != @data[:id] } + + if other_after_signup.any? + errors.add :base, I18n.t("wizard.validation.after_signup", wizard_id: other_after_signup.first['id']) + end + end + def validate_after_time - return unless @data[:after_time] + return unless ActiveRecord::Type::Boolean.new.cast(@data[:after_time]) + + if ActiveRecord::Type::Boolean.new.cast(@data[:after_signup]) + errors.add :base, I18n.t("wizard.validation.after_signup_after_time") + return + end wizard = CustomWizard::Wizard.create(@data[:id]) if !@opts[:create] current_time = wizard.present? ? wizard.after_time_scheduled : nil diff --git a/lib/custom_wizard/wizard.rb b/lib/custom_wizard/wizard.rb index ebae615e..90177b82 100644 --- a/lib/custom_wizard/wizard.rb +++ b/lib/custom_wizard/wizard.rb @@ -288,11 +288,8 @@ class CustomWizard::Wizard end end - def final_cleanup! - if id == user.custom_fields['redirect_to_wizard'] - user.custom_fields.delete('redirect_to_wizard') - user.save_custom_fields(true) - end + def cleanup_on_complete! + remove_user_redirect if current_submission.present? current_submission.submitted_at = Time.now.iso8601 @@ -302,6 +299,23 @@ class CustomWizard::Wizard update! end + def cleanup_on_skip! + remove_user_redirect + + if current_submission.present? + current_submission.remove + end + + reset + end + + def remove_user_redirect + if id == user.redirect_to_wizard + user.custom_fields.delete('redirect_to_wizard') + user.save_custom_fields(true) + end + end + def self.create(wizard_id, user = nil) if template = CustomWizard::Template.find(wizard_id) new(template.to_h, user) diff --git a/plugin.rb b/plugin.rb index 94f9059b..87050d25 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # name: discourse-custom-wizard # about: Create custom wizards -# version: 1.16.4 +# version: 1.16.5 # authors: Angus McLeod # url: https://github.com/paviliondev/discourse-custom-wizard # contact emails: angus@thepavilion.io @@ -149,8 +149,16 @@ after_initialize do !!custom_redirect end + add_to_class(:user, :redirect_to_wizard) do + if custom_fields['redirect_to_wizard'].present? + custom_fields['redirect_to_wizard'] + else + nil + end + end + add_to_class(:users_controller, :wizard_path) do - if custom_wizard_redirect = current_user.custom_fields['redirect_to_wizard'] + if custom_wizard_redirect = current_user.redirect_to_wizard "#{Discourse.base_url}/w/#{custom_wizard_redirect.dasherize}" else "#{Discourse.base_url}/wizard" @@ -158,7 +166,7 @@ after_initialize do end add_to_serializer(:current_user, :redirect_to_wizard) do - object.custom_fields['redirect_to_wizard'] + object.redirect_to_wizard end on(:user_approved) do |user| @@ -168,15 +176,19 @@ after_initialize do end add_to_class(:application_controller, :redirect_to_wizard_if_required) do - wizard_id = current_user.custom_fields['redirect_to_wizard'] @excluded_routes ||= SiteSetting.wizard_redirect_exclude_paths.split('|') + ['/w/'] url = request.referer || request.original_url + excluded_route = @excluded_routes.any? { |str| /#{str}/ =~ url } + not_api = request.format === 'text/html' + + if not_api && !excluded_route + wizard_id = current_user.redirect_to_wizard + + if CustomWizard::Template.can_redirect_users?(wizard_id) + if url !~ /\/w\// && url !~ /\/invites\// + CustomWizard::Wizard.set_wizard_redirect(current_user, wizard_id, url) + end - if request.format === 'text/html' && !@excluded_routes.any? { |str| /#{str}/ =~ url } && wizard_id - if request.referer !~ /\/w\// && request.referer !~ /\/invites\// - CustomWizard::Wizard.set_wizard_redirect(current_user, wizard_id, request.referer) - end - if CustomWizard::Template.exists?(wizard_id) redirect_to "/w/#{wizard_id.dasherize}" end end diff --git a/spec/components/custom_wizard/template_validator_spec.rb b/spec/components/custom_wizard/template_validator_spec.rb index 015228a3..d8706307 100644 --- a/spec/components/custom_wizard/template_validator_spec.rb +++ b/spec/components/custom_wizard/template_validator_spec.rb @@ -30,6 +30,38 @@ describe CustomWizard::TemplateValidator do ).to eq(false) end + it "only allows one after signup wizard at a time" do + wizard_id = template[:id] + template[:after_signup] = true + CustomWizard::Template.save(template) + + template[:id] = "wizard_2" + template[:after_signup] = true + + validator = CustomWizard::TemplateValidator.new(template) + expect(validator.perform).to eq(false) + expect(validator.errors.first.type).to eq( + I18n.t("wizard.validation.after_signup", wizard_id: wizard_id) + ) + end + + it "only allows a wizard with after signup to be validated twice" do + template[:after_signup] = true + CustomWizard::Template.save(template) + expect(CustomWizard::TemplateValidator.new(template).perform).to eq(true) + end + + it "only allows one after _ setting per wizard" do + template[:after_signup] = true + template[:after_time] = true + + validator = CustomWizard::TemplateValidator.new(template) + expect(validator.perform).to eq(false) + expect(validator.errors.first.type).to eq( + I18n.t("wizard.validation.after_signup_after_time") + ) + end + it "validates after time settings" do template[:after_time] = true template[:after_time_scheduled] = (Time.now + 3.hours).iso8601 diff --git a/spec/requests/custom_wizard/admin/manager_controller_spec.rb b/spec/requests/custom_wizard/admin/manager_controller_spec.rb index 87c980f2..7d087e3e 100644 --- a/spec/requests/custom_wizard/admin/manager_controller_spec.rb +++ b/spec/requests/custom_wizard/admin/manager_controller_spec.rb @@ -15,11 +15,8 @@ describe CustomWizard::AdminManagerController do template_2 = template.dup template_2["id"] = 'super_mega_fun_wizard_2' - template_3 = template.dup template_3["id"] = 'super_mega_fun_wizard_3' - template_3["after_signup"] = true - @template_array = [template, template_2, template_3] FileUtils.mkdir_p(file_from_fixtures_tmp_folder) unless Dir.exists?(file_from_fixtures_tmp_folder) diff --git a/spec/requests/custom_wizard/application_controller_spec.rb b/spec/requests/custom_wizard/application_controller_spec.rb index 0835f246..0b5513aa 100644 --- a/spec/requests/custom_wizard/application_controller_spec.rb +++ b/spec/requests/custom_wizard/application_controller_spec.rb @@ -31,24 +31,67 @@ describe ApplicationController do user.save_custom_fields(true) end - it "redirects if user is required to complete a wizard" do - get "/" - expect(response).to redirect_to("/w/super-mega-fun-wizard") - end - - it "saves original destination of user" do - get '/', headers: { 'REFERER' => "/t/2" } - expect( - CustomWizard::Wizard.create(@template['id'], user).submissions - .first.redirect_to - ).to eq("/t/2") - end - - it "does not redirect if wizard does not exist" do - CustomWizard::Template.remove('super_mega_fun_wizard') + it "does not redirect if wizard if no after setting is enabled" do get "/" expect(response.status).to eq(200) end + + context "after signup enabled" do + before do + @template["after_signup"] = true + CustomWizard::Template.save(@template) + end + + it "does not redirect if wizard does not exist" do + CustomWizard::Template.remove(@template[:id]) + get "/" + expect(response.status).to eq(200) + end + + it "redirects if user is required to complete a wizard" do + get "/" + expect(response).to redirect_to("/w/super-mega-fun-wizard") + end + + it "does not redirect if wizard is subsequently disabled" do + get "/" + expect(response).to redirect_to("/w/super-mega-fun-wizard") + + @template["after_signup"] = false + CustomWizard::Template.save(@template) + + get "/" + expect(response.status).to eq(200) + end + + it "saves original destination of user" do + get '/', headers: { 'REFERER' => "/t/2" } + expect( + CustomWizard::Wizard.create(@template['id'], user).submissions + .first.redirect_to + ).to eq("/t/2") + end + end + + context "after time enabled" do + before do + @template["after_time"] = true + @template["after_time_scheduled"] = (Time.now + 3.hours).iso8601 + CustomWizard::Template.save(@template) + end + + it "does not redirect if time hasn't passed" do + get "/" + expect(response.status).to eq(200) + end + + it "redirects if time has passed" do + @template["after_time_scheduled"] = (Time.now - 1.hours).iso8601 + CustomWizard::Template.save(@template) + get "/" + expect(response.status).to eq(200) + end + end end context "who is not required to complete wizard" do diff --git a/spec/requests/custom_wizard/wizard_controller_spec.rb b/spec/requests/custom_wizard/wizard_controller_spec.rb index 87ff7efe..f5bcd5ac 100644 --- a/spec/requests/custom_wizard/wizard_controller_spec.rb +++ b/spec/requests/custom_wizard/wizard_controller_spec.rb @@ -79,6 +79,15 @@ describe CustomWizard::WizardController do expect(response.parsed_body['redirect_to']).to eq('/t/2') end + it 'deletes the users redirect_to_wizard if present' do + user.custom_fields['redirect_to_wizard'] = @template["id"] + user.save_custom_fields(true) + @wizard = CustomWizard::Wizard.create(@template["id"], user) + put '/w/super-mega-fun-wizard/skip.json' + expect(response.status).to eq(200) + expect(user.reload.redirect_to_wizard).to eq(nil) + end + it "deletes the submission if user has filled up some data" do @wizard = CustomWizard::Wizard.create(@template["id"], user) CustomWizard::Submission.new(@wizard, step_1_field_1: "Hello World").save From 51553bc71db952689fb27424b6a458fb90eae7d3 Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Mon, 31 Jan 2022 15:11:14 +0530 Subject: [PATCH 10/33] FEATURE: validate liquid templates on wizard save (#156) * DEV: validate liquid templates on wizard save * minor fix * code improvements and spec * version bump * fixed failing specs * FIX: handle displaying backend validation errors on frontend * fixed linting * improved error display * validate raw description for steps * refactor conditional * Identify attribute with liquid template error and pass syntax error Co-authored-by: angusmcleod Co-authored-by: Angus McLeod --- .../admin-wizards-wizard-show.js.es6 | 28 +++--- .../discourse/models/custom-wizard.js.es6 | 2 +- config/locales/server.en.yml | 1 + controllers/custom_wizard/admin/wizard.rb | 2 +- lib/custom_wizard/validators/template.rb | 34 ++++++++ plugin.rb | 4 +- spec/components/custom_wizard/builder_spec.rb | 2 +- .../custom_wizard/template_validator_spec.rb | 87 +++++++++++++++++++ spec/fixtures/wizard.json | 9 +- .../wizard_field_serializer_spec.rb | 2 +- .../wizard_step_serializer_spec.rb | 3 +- 11 files changed, 155 insertions(+), 19 deletions(-) diff --git a/assets/javascripts/discourse/controllers/admin-wizards-wizard-show.js.es6 b/assets/javascripts/discourse/controllers/admin-wizards-wizard-show.js.es6 index 332efedd..1eeb62e6 100644 --- a/assets/javascripts/discourse/controllers/admin-wizards-wizard-show.js.es6 +++ b/assets/javascripts/discourse/controllers/admin-wizards-wizard-show.js.es6 @@ -58,6 +58,21 @@ export default Controller.extend({ } return wizardFieldList(steps); }, + getErrorMessage(result) { + if (result.backend_validation_error) { + return result.backend_validation_error; + } + + let errorType = "failed"; + let errorParams = {}; + + if (result.error) { + errorType = result.error.type; + errorParams = result.error.params; + } + + return I18n.t(`admin.wizard.error.${errorType}`, errorParams); + }, actions: { save() { @@ -80,18 +95,7 @@ export default Controller.extend({ this.send("afterSave", result.wizard_id); }) .catch((result) => { - let errorType = "failed"; - let errorParams = {}; - - if (result.error) { - errorType = result.error.type; - errorParams = result.error.params; - } - - this.set( - "error", - I18n.t(`admin.wizard.error.${errorType}`, errorParams) - ); + this.set("error", this.getErrorMessage(result)); later(() => this.set("error", null), 10000); }) diff --git a/assets/javascripts/discourse/models/custom-wizard.js.es6 b/assets/javascripts/discourse/models/custom-wizard.js.es6 index e6a8408d..2fa6bc4c 100644 --- a/assets/javascripts/discourse/models/custom-wizard.js.es6 +++ b/assets/javascripts/discourse/models/custom-wizard.js.es6 @@ -28,7 +28,7 @@ const CustomWizard = EmberObject.extend({ contentType: "application/json", data: JSON.stringify(data), }).then((result) => { - if (result.error) { + if (result.backend_validation_error) { reject(result); } else { resolve(result); diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 88e945f9..81697e43 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -51,6 +51,7 @@ en: after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" site_settings: custom_wizard_enabled: "Enable custom wizards." diff --git a/controllers/custom_wizard/admin/wizard.rb b/controllers/custom_wizard/admin/wizard.rb index e2edfba0..09471680 100644 --- a/controllers/custom_wizard/admin/wizard.rb +++ b/controllers/custom_wizard/admin/wizard.rb @@ -37,7 +37,7 @@ class CustomWizard::AdminWizardController < CustomWizard::AdminController wizard_id = template.save(create: params[:create]) if template.errors.any? - render json: failed_json.merge(errors: template.errors.full_messages) + render json: failed_json.merge(backend_validation_error: template.errors.full_messages.join("\n\n")) else render json: success_json.merge(wizard_id: wizard_id) end diff --git a/lib/custom_wizard/validators/template.rb b/lib/custom_wizard/validators/template.rb index 5c3f5218..e2820c97 100644 --- a/lib/custom_wizard/validators/template.rb +++ b/lib/custom_wizard/validators/template.rb @@ -20,10 +20,12 @@ class CustomWizard::TemplateValidator data[:steps].each do |step| check_required(step, :step) + validate_liquid_template(step, :step) if step[:fields].present? step[:fields].each do |field| check_required(field, :field) + validate_liquid_template(field, :field) end end end @@ -31,6 +33,7 @@ class CustomWizard::TemplateValidator if data[:actions].present? data[:actions].each do |action| check_required(action, :action) + validate_liquid_template(action, :action) end end @@ -95,4 +98,35 @@ class CustomWizard::TemplateValidator errors.add :base, I18n.t("wizard.validation.after_time") end end + + def validate_liquid_template(object, type) + %w[ + description + raw_description + placeholder + preview_template + post_template + ].each do |field| + if template = object[field] + result = is_liquid_template_valid?(template) + + unless "valid" == result + error = I18n.t("wizard.validation.liquid_syntax_error", + attribute: "#{object[:id]}.#{field}", + message: result + ) + errors.add :base, error + end + end + end + end + + def is_liquid_template_valid?(template) + begin + Liquid::Template.parse(template) + 'valid' + rescue Liquid::SyntaxError => error + error.message + end + end end diff --git a/plugin.rb b/plugin.rb index 87050d25..a0094420 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # name: discourse-custom-wizard # about: Create custom wizards -# version: 1.16.5 +# version: 1.17.0 # authors: Angus McLeod # url: https://github.com/paviliondev/discourse-custom-wizard # contact emails: angus@thepavilion.io @@ -117,6 +117,8 @@ after_initialize do load File.expand_path(path, __FILE__) end + Liquid::Template.error_mode = :strict + # preloaded category custom fields %w[ create_topic_wizard diff --git a/spec/components/custom_wizard/builder_spec.rb b/spec/components/custom_wizard/builder_spec.rb index def54fc4..099d8681 100644 --- a/spec/components/custom_wizard/builder_spec.rb +++ b/spec/components/custom_wizard/builder_spec.rb @@ -324,7 +324,7 @@ describe CustomWizard::Builder do .build .steps.first .fields.length - ).to eq(4) + ).to eq(@template[:steps][0][:fields].length) end context "with condition" do diff --git a/spec/components/custom_wizard/template_validator_spec.rb b/spec/components/custom_wizard/template_validator_spec.rb index d8706307..0ff0d1e7 100644 --- a/spec/components/custom_wizard/template_validator_spec.rb +++ b/spec/components/custom_wizard/template_validator_spec.rb @@ -9,6 +9,33 @@ describe CustomWizard::TemplateValidator do "#{Rails.root}/plugins/discourse-custom-wizard/spec/fixtures/wizard.json" ).read).with_indifferent_access } + let(:valid_liquid_template) { + <<-LIQUID.strip + {%- assign hello = "Topic Form 1" %} + LIQUID + } + + let(:invalid_liquid_template) { + <<-LIQUID.strip + {%- assign hello = "Topic Form 1" % + LIQUID + } + + let(:liquid_syntax_error) { + "Liquid syntax error: Tag '{%' was not properly terminated with regexp: /\\%\\}/" + } + + def expect_validation_success + expect( + CustomWizard::TemplateValidator.new(template).perform + ).to eq(true) + end + + def expect_validation_failure(object_id, message) + validator = CustomWizard::TemplateValidator.new(template) + expect(validator.perform).to eq(false) + expect(validator.errors.first.message).to eq("Liquid syntax error in #{object_id}: #{message}") + end it "validates valid templates" do expect( @@ -110,4 +137,64 @@ describe CustomWizard::TemplateValidator do end end end + + context "liquid templates" do + it "validates if no liquid syntax in use" do + expect_validation_success + end + + it "validates if liquid syntax in use is correct" do + template[:steps][0][:raw_description] = valid_liquid_template + expect_validation_success + end + + it "doesn't validate if liquid syntax in use is incorrect" do + template[:steps][0][:raw_description] = invalid_liquid_template + expect_validation_failure("step_1.raw_description", liquid_syntax_error) + end + + context "validation targets" do + context "fields" do + it "validates descriptions" do + template[:steps][0][:fields][0][:description] = invalid_liquid_template + expect_validation_failure("step_1_field_1.description", liquid_syntax_error) + end + + it "validates placeholders" do + template[:steps][0][:fields][0][:placeholder] = invalid_liquid_template + expect_validation_failure("step_1_field_1.placeholder", liquid_syntax_error) + end + + it "validates preview templates" do + template[:steps][0][:fields][4][:preview_template] = invalid_liquid_template + expect_validation_failure("step_1_field_5.preview_template", liquid_syntax_error) + end + end + + context "steps" do + it "validates descriptions" do + template[:steps][0][:raw_description] = invalid_liquid_template + expect_validation_failure("step_1.raw_description", liquid_syntax_error) + end + end + + context "actions" do + it "validates post builder" do + action = nil + action_index = nil + + template[:actions].each_with_index do |a, i| + if a["post_builder"] + action = a + action_index = i + break + end + end + template[:actions][action_index][:post_template] = invalid_liquid_template + + expect_validation_failure("#{action[:id]}.post_template", liquid_syntax_error) + end + end + end + end end diff --git a/spec/fixtures/wizard.json b/spec/fixtures/wizard.json index 4727c7a8..01421c7f 100644 --- a/spec/fixtures/wizard.json +++ b/spec/fixtures/wizard.json @@ -43,6 +43,13 @@ "label": "I'm only text", "description": "", "type": "text_only" + }, + { + "id": "step_1_field_5", + "label": "I'm a preview", + "description": "", + "type": "composer_preview", + "preview_template": "w{step_1_field_1}" } ], "description": "Text inputs!" @@ -576,4 +583,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/spec/serializers/custom_wizard/wizard_field_serializer_spec.rb b/spec/serializers/custom_wizard/wizard_field_serializer_spec.rb index 1fa9671c..a5a5e721 100644 --- a/spec/serializers/custom_wizard/wizard_field_serializer_spec.rb +++ b/spec/serializers/custom_wizard/wizard_field_serializer_spec.rb @@ -21,7 +21,7 @@ describe CustomWizard::FieldSerializer do scope: Guardian.new(user) ).as_json - expect(json_array.size).to eq(4) + expect(json_array.size).to eq(@wizard.steps.first.fields.size) expect(json_array[0][:label]).to eq("

Text

") expect(json_array[0][:description]).to eq("Text field description.") expect(json_array[3][:index]).to eq(3) diff --git a/spec/serializers/custom_wizard/wizard_step_serializer_spec.rb b/spec/serializers/custom_wizard/wizard_step_serializer_spec.rb index 35ce0fd2..21345352 100644 --- a/spec/serializers/custom_wizard/wizard_step_serializer_spec.rb +++ b/spec/serializers/custom_wizard/wizard_step_serializer_spec.rb @@ -43,7 +43,8 @@ describe CustomWizard::StepSerializer do each_serializer: described_class, scope: Guardian.new(user) ).as_json - expect(json_array[0][:fields].length).to eq(4) + + expect(json_array[0][:fields].length).to eq(@wizard.steps[0].fields.length) end context 'with required data' do From f92c2cd5741da0f1b9d63532695b74e59cb4e21c Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Mon, 31 Jan 2022 17:42:26 +0800 Subject: [PATCH 11/33] FIX: Wizard id increment fix (#177) * increment object ids based on last object id * Bump version * Apply prettier --- assets/javascripts/discourse/components/wizard-links.js.es6 | 3 ++- plugin.rb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/assets/javascripts/discourse/components/wizard-links.js.es6 b/assets/javascripts/discourse/components/wizard-links.js.es6 index 50dadfe6..62c45911 100644 --- a/assets/javascripts/discourse/components/wizard-links.js.es6 +++ b/assets/javascripts/discourse/components/wizard-links.js.es6 @@ -81,7 +81,8 @@ export default Component.extend({ let index = 0; if (items.length) { - index = items.length; + let last_item = items[items.length - 1]; + index = Number(last_item.id.split("_").pop()); } params.index = index; diff --git a/plugin.rb b/plugin.rb index a0094420..90376489 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # name: discourse-custom-wizard # about: Create custom wizards -# version: 1.17.0 +# version: 1.17.1 # authors: Angus McLeod # url: https://github.com/paviliondev/discourse-custom-wizard # contact emails: angus@thepavilion.io From 8d2dbd565e3f9dc58ce6f47fce47b33aed128330 Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Mon, 31 Jan 2022 16:21:23 +0530 Subject: [PATCH 12/33] FIX: increase width to accomodate long category names (#178) * FIX: increase width to accomodate long category names * version bump --- .../wizard/components/wizard-category-selector.js.es6 | 1 + assets/stylesheets/wizard/custom/field.scss | 4 ++++ plugin.rb | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/assets/javascripts/wizard/components/wizard-category-selector.js.es6 b/assets/javascripts/wizard/components/wizard-category-selector.js.es6 index 10da029f..3ddc4c00 100644 --- a/assets/javascripts/wizard/components/wizard-category-selector.js.es6 +++ b/assets/javascripts/wizard/components/wizard-category-selector.js.es6 @@ -3,6 +3,7 @@ import { computed } from "@ember/object"; import { makeArray } from "discourse-common/lib/helpers"; export default CategorySelector.extend({ + classNames: ["category-selector", "wizard-category-selector"], content: computed( "categories.[]", "blacklist.[]", diff --git a/assets/stylesheets/wizard/custom/field.scss b/assets/stylesheets/wizard/custom/field.scss index f2bb3aa0..cb6f0635 100644 --- a/assets/stylesheets/wizard/custom/field.scss +++ b/assets/stylesheets/wizard/custom/field.scss @@ -173,4 +173,8 @@ } } } + + .wizard-category-selector { + width: 500px; + } } diff --git a/plugin.rb b/plugin.rb index 90376489..900b5774 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # name: discourse-custom-wizard # about: Create custom wizards -# version: 1.17.1 +# version: 1.17.2 # authors: Angus McLeod # url: https://github.com/paviliondev/discourse-custom-wizard # contact emails: angus@thepavilion.io From 676d538da2726456abb92655705d9d97cf7d1391 Mon Sep 17 00:00:00 2001 From: Keegan George Date: Mon, 31 Jan 2022 22:50:18 -0800 Subject: [PATCH 13/33] i18n: Update Translations (#173) * New translations client.en.yml (Romanian) * New translations client.en.yml (Ukrainian) * New translations client.en.yml (Polish) * New translations client.en.yml (Portuguese) * New translations client.en.yml (Russian) * New translations client.en.yml (Slovak) * New translations client.en.yml (Slovenian) * New translations client.en.yml (Albanian) * New translations client.en.yml (Serbian (Cyrillic)) * New translations client.en.yml (Swedish) * New translations client.en.yml (Turkish) * New translations client.en.yml (Chinese Simplified) * New translations client.en.yml (Norwegian) * New translations client.en.yml (Chinese Traditional) * New translations client.en.yml (Zulu) * New translations client.en.yml (Urdu (Pakistan)) * New translations client.en.yml (Vietnamese) * New translations client.en.yml (Galician) * New translations client.en.yml (Icelandic) * New translations client.en.yml (Indonesian) * New translations client.en.yml (Persian) * New translations client.en.yml (Khmer) * New translations client.en.yml (Punjabi) * New translations client.en.yml (Dutch) * New translations client.en.yml (French) * New translations client.en.yml (Basque) * New translations client.en.yml (Spanish) * New translations client.en.yml (Afrikaans) * New translations client.en.yml (Arabic) * New translations client.en.yml (Belarusian) * New translations client.en.yml (Bulgarian) * New translations client.en.yml (Catalan) * New translations client.en.yml (Czech) * New translations client.en.yml (Danish) * New translations client.en.yml (German) * New translations client.en.yml (Greek) * New translations client.en.yml (Finnish) * New translations client.en.yml (Mongolian) * New translations client.en.yml (Hebrew) * New translations client.en.yml (Hungarian) * New translations client.en.yml (Armenian) * New translations client.en.yml (Italian) * New translations client.en.yml (Japanese) * New translations client.en.yml (Georgian) * New translations client.en.yml (Korean) * New translations client.en.yml (Kurdish) * New translations client.en.yml (Lithuanian) * New translations client.en.yml (Macedonian) * New translations client.en.yml (Tamil) * New translations client.en.yml (Bengali) * New translations server.en.yml (Finnish) * New translations server.en.yml (Arabic) * New translations server.en.yml (Belarusian) * New translations server.en.yml (Bulgarian) * New translations server.en.yml (Catalan) * New translations server.en.yml (Czech) * New translations server.en.yml (Danish) * New translations server.en.yml (German) * New translations server.en.yml (Greek) * New translations server.en.yml (Basque) * New translations server.en.yml (Hebrew) * New translations server.en.yml (Spanish) * New translations server.en.yml (Hungarian) * New translations server.en.yml (Armenian) * New translations server.en.yml (Italian) * New translations server.en.yml (Japanese) * New translations server.en.yml (Georgian) * New translations server.en.yml (Korean) * New translations server.en.yml (Kurdish) * New translations server.en.yml (Lithuanian) * New translations server.en.yml (Macedonian) * New translations server.en.yml (Mongolian) * New translations server.en.yml (Afrikaans) * New translations server.en.yml (French) * New translations client.en.yml (Thai) * New translations client.en.yml (Welsh) * New translations client.en.yml (Croatian) * New translations client.en.yml (Kazakh) * New translations client.en.yml (Estonian) * New translations client.en.yml (Latvian) * New translations client.en.yml (Azerbaijani) * New translations client.en.yml (Hindi) * New translations client.en.yml (Malay) * New translations client.en.yml (Telugu) * New translations client.en.yml (Tagalog) * New translations client.en.yml (Yiddish) * New translations client.en.yml (Esperanto) * New translations server.en.yml (Romanian) * New translations client.en.yml (Tatar) * New translations client.en.yml (Malayalam) * New translations client.en.yml (Tibetan) * New translations client.en.yml (Bosnian) * New translations client.en.yml (Kannada) * New translations client.en.yml (Swahili) * New translations client.en.yml (Nepali) * New translations client.en.yml (Lao) * New translations client.en.yml (Oromo) * New translations client.en.yml (Sindhi) * New translations server.en.yml (Dutch) * New translations server.en.yml (Norwegian) * New translations server.en.yml (Welsh) * New translations server.en.yml (Kazakh) * New translations server.en.yml (Estonian) * New translations server.en.yml (Latvian) * New translations server.en.yml (Azerbaijani) * New translations server.en.yml (Hindi) * New translations server.en.yml (Malay) * New translations server.en.yml (Telugu) * New translations server.en.yml (Tagalog) * New translations server.en.yml (Yiddish) * New translations server.en.yml (Esperanto) * New translations server.en.yml (Thai) * New translations server.en.yml (Tatar) * New translations server.en.yml (Malayalam) * New translations server.en.yml (Tibetan) * New translations server.en.yml (Bosnian) * New translations server.en.yml (Kannada) * New translations server.en.yml (Swahili) * New translations server.en.yml (Nepali) * New translations server.en.yml (Lao) * New translations server.en.yml (Oromo) * New translations server.en.yml (Croatian) * New translations server.en.yml (Bengali) * New translations server.en.yml (Punjabi) * New translations server.en.yml (Ukrainian) * New translations server.en.yml (Polish) * New translations server.en.yml (Portuguese) * New translations server.en.yml (Russian) * New translations server.en.yml (Slovak) * New translations server.en.yml (Slovenian) * New translations server.en.yml (Albanian) * New translations server.en.yml (Serbian (Cyrillic)) * New translations server.en.yml (Swedish) * New translations server.en.yml (Turkish) * New translations server.en.yml (Chinese Simplified) * New translations server.en.yml (Tamil) * New translations server.en.yml (Chinese Traditional) * New translations server.en.yml (Zulu) * New translations server.en.yml (Urdu (Pakistan)) * New translations server.en.yml (Vietnamese) * New translations server.en.yml (Galician) * New translations server.en.yml (Icelandic) * New translations server.en.yml (Indonesian) * New translations server.en.yml (Persian) * New translations server.en.yml (Khmer) * New translations server.en.yml (Sindhi) * New translations client.en.yml (Serbian (Cyrillic)) * New translations client.en.yml (Chinese Simplified) * New translations client.en.yml (Chinese Traditional) * New translations server.en.yml (Serbian (Cyrillic)) * New translations server.en.yml (Chinese Simplified) * New translations server.en.yml (Chinese Traditional) * bump version * New translations server.en.yml (Romanian) * New translations server.en.yml (Ukrainian) * New translations server.en.yml (Polish) * New translations server.en.yml (Portuguese) * New translations server.en.yml (Russian) * New translations server.en.yml (Slovak) * New translations server.en.yml (Slovenian) * New translations server.en.yml (Albanian) * New translations server.en.yml (Serbian (Cyrillic)) * New translations server.en.yml (Swedish) * New translations server.en.yml (Turkish) * New translations server.en.yml (Chinese Simplified) * New translations server.en.yml (Norwegian) * New translations server.en.yml (Chinese Traditional) * New translations server.en.yml (Zulu) * New translations server.en.yml (Urdu (Pakistan)) * New translations server.en.yml (Vietnamese) * New translations server.en.yml (Galician) * New translations server.en.yml (Icelandic) * New translations server.en.yml (Indonesian) * New translations server.en.yml (Persian) * New translations server.en.yml (Khmer) * New translations server.en.yml (Punjabi) * New translations server.en.yml (Dutch) * New translations server.en.yml (French) * New translations server.en.yml (Basque) * New translations server.en.yml (Spanish) * New translations server.en.yml (Afrikaans) * New translations server.en.yml (Arabic) * New translations server.en.yml (Belarusian) * New translations server.en.yml (Bulgarian) * New translations server.en.yml (Catalan) * New translations server.en.yml (Czech) * New translations server.en.yml (Danish) * New translations server.en.yml (German) * New translations server.en.yml (Greek) * New translations server.en.yml (Finnish) * New translations server.en.yml (Mongolian) * New translations server.en.yml (Hebrew) * New translations server.en.yml (Hungarian) * New translations server.en.yml (Armenian) * New translations server.en.yml (Italian) * New translations server.en.yml (Japanese) * New translations server.en.yml (Georgian) * New translations server.en.yml (Korean) * New translations server.en.yml (Kurdish) * New translations server.en.yml (Lithuanian) * New translations server.en.yml (Macedonian) * New translations server.en.yml (Tamil) * New translations server.en.yml (Bengali) * New translations server.en.yml (Esperanto) * New translations server.en.yml (Oromo) * New translations server.en.yml (Lao) * New translations server.en.yml (Nepali) * New translations server.en.yml (Swahili) * New translations server.en.yml (Kannada) * New translations server.en.yml (Bosnian) * New translations server.en.yml (Tibetan) * New translations server.en.yml (Malayalam) * New translations server.en.yml (Tatar) * New translations server.en.yml (Welsh) * New translations server.en.yml (Thai) * New translations server.en.yml (Yiddish) * New translations server.en.yml (Tagalog) * New translations server.en.yml (Telugu) * New translations server.en.yml (Malay) * New translations server.en.yml (Hindi) * New translations server.en.yml (Azerbaijani) * New translations server.en.yml (Latvian) * New translations server.en.yml (Estonian) * New translations server.en.yml (Kazakh) * New translations server.en.yml (Croatian) * New translations server.en.yml (Sindhi) Co-authored-by: Faizaan Gagan --- config/locales/client.af.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.ar.yml | 543 +++++++++++++++++++++++++++++++++++ config/locales/client.az.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.be.yml | 537 ++++++++++++++++++++++++++++++++++ config/locales/client.bg.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.bn.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.bo.yml | 528 ++++++++++++++++++++++++++++++++++ config/locales/client.bs.yml | 534 ++++++++++++++++++++++++++++++++++ config/locales/client.ca.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.cs.yml | 537 ++++++++++++++++++++++++++++++++++ config/locales/client.cy.yml | 543 +++++++++++++++++++++++++++++++++++ config/locales/client.da.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.de.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.el.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.eo.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.es.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.et.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.eu.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.fa.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.fi.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.fr.yml | 411 +++++++++++++++++++++++--- config/locales/client.gl.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.he.yml | 537 ++++++++++++++++++++++++++++++++++ config/locales/client.hi.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.hr.yml | 534 ++++++++++++++++++++++++++++++++++ config/locales/client.hu.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.hy.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.id.yml | 528 ++++++++++++++++++++++++++++++++++ config/locales/client.is.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.it.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.ja.yml | 528 ++++++++++++++++++++++++++++++++++ config/locales/client.ka.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.kk.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.km.yml | 528 ++++++++++++++++++++++++++++++++++ config/locales/client.kn.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.ko.yml | 528 ++++++++++++++++++++++++++++++++++ config/locales/client.ku.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.lo.yml | 528 ++++++++++++++++++++++++++++++++++ config/locales/client.lt.yml | 537 ++++++++++++++++++++++++++++++++++ config/locales/client.lv.yml | 534 ++++++++++++++++++++++++++++++++++ config/locales/client.mk.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.ml.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.mn.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.ms.yml | 528 ++++++++++++++++++++++++++++++++++ config/locales/client.ne.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.nl.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.no.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.om.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.pa.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.pl.yml | 537 ++++++++++++++++++++++++++++++++++ config/locales/client.pt.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.ro.yml | 534 ++++++++++++++++++++++++++++++++++ config/locales/client.ru.yml | 537 ++++++++++++++++++++++++++++++++++ config/locales/client.sd.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.sk.yml | 537 ++++++++++++++++++++++++++++++++++ config/locales/client.sl.yml | 537 ++++++++++++++++++++++++++++++++++ config/locales/client.sq.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.sr.yml | 534 ++++++++++++++++++++++++++++++++++ config/locales/client.sv.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.sw.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.ta.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.te.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.th.yml | 528 ++++++++++++++++++++++++++++++++++ config/locales/client.tl.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.tr.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.tt.yml | 528 ++++++++++++++++++++++++++++++++++ config/locales/client.uk.yml | 537 ++++++++++++++++++++++++++++++++++ config/locales/client.ur.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.vi.yml | 528 ++++++++++++++++++++++++++++++++++ config/locales/client.yi.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/client.zh.yml | 528 ++++++++++++++++++++++++++++++++++ config/locales/client.zu.yml | 531 ++++++++++++++++++++++++++++++++++ config/locales/server.af.yml | 52 ++++ config/locales/server.ar.yml | 52 ++++ config/locales/server.az.yml | 52 ++++ config/locales/server.be.yml | 52 ++++ config/locales/server.bg.yml | 52 ++++ config/locales/server.bn.yml | 52 ++++ config/locales/server.bo.yml | 52 ++++ config/locales/server.bs.yml | 52 ++++ config/locales/server.ca.yml | 52 ++++ config/locales/server.cs.yml | 52 ++++ config/locales/server.cy.yml | 52 ++++ config/locales/server.da.yml | 52 ++++ config/locales/server.de.yml | 52 ++++ config/locales/server.el.yml | 52 ++++ config/locales/server.eo.yml | 52 ++++ config/locales/server.es.yml | 52 ++++ config/locales/server.et.yml | 52 ++++ config/locales/server.eu.yml | 52 ++++ config/locales/server.fa.yml | 52 ++++ config/locales/server.fi.yml | 52 ++++ config/locales/server.fr.yml | 45 ++- config/locales/server.gl.yml | 52 ++++ config/locales/server.he.yml | 52 ++++ config/locales/server.hi.yml | 52 ++++ config/locales/server.hr.yml | 52 ++++ config/locales/server.hu.yml | 52 ++++ config/locales/server.hy.yml | 52 ++++ config/locales/server.id.yml | 52 ++++ config/locales/server.is.yml | 52 ++++ config/locales/server.it.yml | 52 ++++ config/locales/server.ja.yml | 52 ++++ config/locales/server.ka.yml | 52 ++++ config/locales/server.kk.yml | 52 ++++ config/locales/server.km.yml | 52 ++++ config/locales/server.kn.yml | 52 ++++ config/locales/server.ko.yml | 52 ++++ config/locales/server.ku.yml | 52 ++++ config/locales/server.lo.yml | 52 ++++ config/locales/server.lt.yml | 52 ++++ config/locales/server.lv.yml | 52 ++++ config/locales/server.mk.yml | 52 ++++ config/locales/server.ml.yml | 52 ++++ config/locales/server.mn.yml | 52 ++++ config/locales/server.ms.yml | 52 ++++ config/locales/server.ne.yml | 52 ++++ config/locales/server.nl.yml | 52 ++++ config/locales/server.no.yml | 52 ++++ config/locales/server.om.yml | 52 ++++ config/locales/server.pa.yml | 52 ++++ config/locales/server.pl.yml | 52 ++++ config/locales/server.pt.yml | 52 ++++ config/locales/server.ro.yml | 52 ++++ config/locales/server.ru.yml | 52 ++++ config/locales/server.sd.yml | 52 ++++ config/locales/server.sk.yml | 52 ++++ config/locales/server.sl.yml | 52 ++++ config/locales/server.sq.yml | 52 ++++ config/locales/server.sr.yml | 52 ++++ config/locales/server.sv.yml | 52 ++++ config/locales/server.sw.yml | 52 ++++ config/locales/server.ta.yml | 52 ++++ config/locales/server.te.yml | 52 ++++ config/locales/server.th.yml | 52 ++++ config/locales/server.tl.yml | 52 ++++ config/locales/server.tr.yml | 52 ++++ config/locales/server.tt.yml | 52 ++++ config/locales/server.uk.yml | 52 ++++ config/locales/server.ur.yml | 52 ++++ config/locales/server.vi.yml | 52 ++++ config/locales/server.yi.yml | 52 ++++ config/locales/server.zh.yml | 52 ++++ config/locales/server.zu.yml | 52 ++++ plugin.rb | 2 +- 145 files changed, 41873 insertions(+), 38 deletions(-) create mode 100644 config/locales/client.af.yml create mode 100644 config/locales/client.ar.yml create mode 100644 config/locales/client.az.yml create mode 100644 config/locales/client.be.yml create mode 100644 config/locales/client.bg.yml create mode 100644 config/locales/client.bn.yml create mode 100644 config/locales/client.bo.yml create mode 100644 config/locales/client.bs.yml create mode 100644 config/locales/client.ca.yml create mode 100644 config/locales/client.cs.yml create mode 100644 config/locales/client.cy.yml create mode 100644 config/locales/client.da.yml create mode 100644 config/locales/client.de.yml create mode 100644 config/locales/client.el.yml create mode 100644 config/locales/client.eo.yml create mode 100644 config/locales/client.es.yml create mode 100644 config/locales/client.et.yml create mode 100644 config/locales/client.eu.yml create mode 100644 config/locales/client.fa.yml create mode 100644 config/locales/client.fi.yml create mode 100644 config/locales/client.gl.yml create mode 100644 config/locales/client.he.yml create mode 100644 config/locales/client.hi.yml create mode 100644 config/locales/client.hr.yml create mode 100644 config/locales/client.hu.yml create mode 100644 config/locales/client.hy.yml create mode 100644 config/locales/client.id.yml create mode 100644 config/locales/client.is.yml create mode 100644 config/locales/client.it.yml create mode 100644 config/locales/client.ja.yml create mode 100644 config/locales/client.ka.yml create mode 100644 config/locales/client.kk.yml create mode 100644 config/locales/client.km.yml create mode 100644 config/locales/client.kn.yml create mode 100644 config/locales/client.ko.yml create mode 100644 config/locales/client.ku.yml create mode 100644 config/locales/client.lo.yml create mode 100644 config/locales/client.lt.yml create mode 100644 config/locales/client.lv.yml create mode 100644 config/locales/client.mk.yml create mode 100644 config/locales/client.ml.yml create mode 100644 config/locales/client.mn.yml create mode 100644 config/locales/client.ms.yml create mode 100644 config/locales/client.ne.yml create mode 100644 config/locales/client.nl.yml create mode 100644 config/locales/client.no.yml create mode 100644 config/locales/client.om.yml create mode 100644 config/locales/client.pa.yml create mode 100644 config/locales/client.pl.yml create mode 100644 config/locales/client.pt.yml create mode 100644 config/locales/client.ro.yml create mode 100644 config/locales/client.ru.yml create mode 100644 config/locales/client.sd.yml create mode 100644 config/locales/client.sk.yml create mode 100644 config/locales/client.sl.yml create mode 100644 config/locales/client.sq.yml create mode 100644 config/locales/client.sr.yml create mode 100644 config/locales/client.sv.yml create mode 100644 config/locales/client.sw.yml create mode 100644 config/locales/client.ta.yml create mode 100644 config/locales/client.te.yml create mode 100644 config/locales/client.th.yml create mode 100644 config/locales/client.tl.yml create mode 100644 config/locales/client.tr.yml create mode 100644 config/locales/client.tt.yml create mode 100644 config/locales/client.uk.yml create mode 100644 config/locales/client.ur.yml create mode 100644 config/locales/client.vi.yml create mode 100644 config/locales/client.yi.yml create mode 100644 config/locales/client.zh.yml create mode 100644 config/locales/client.zu.yml create mode 100644 config/locales/server.af.yml create mode 100644 config/locales/server.ar.yml create mode 100644 config/locales/server.az.yml create mode 100644 config/locales/server.be.yml create mode 100644 config/locales/server.bg.yml create mode 100644 config/locales/server.bn.yml create mode 100644 config/locales/server.bo.yml create mode 100644 config/locales/server.bs.yml create mode 100644 config/locales/server.ca.yml create mode 100644 config/locales/server.cs.yml create mode 100644 config/locales/server.cy.yml create mode 100644 config/locales/server.da.yml create mode 100644 config/locales/server.de.yml create mode 100644 config/locales/server.el.yml create mode 100644 config/locales/server.eo.yml create mode 100644 config/locales/server.es.yml create mode 100644 config/locales/server.et.yml create mode 100644 config/locales/server.eu.yml create mode 100644 config/locales/server.fa.yml create mode 100644 config/locales/server.fi.yml create mode 100644 config/locales/server.gl.yml create mode 100644 config/locales/server.he.yml create mode 100644 config/locales/server.hi.yml create mode 100644 config/locales/server.hr.yml create mode 100644 config/locales/server.hu.yml create mode 100644 config/locales/server.hy.yml create mode 100644 config/locales/server.id.yml create mode 100644 config/locales/server.is.yml create mode 100644 config/locales/server.it.yml create mode 100644 config/locales/server.ja.yml create mode 100644 config/locales/server.ka.yml create mode 100644 config/locales/server.kk.yml create mode 100644 config/locales/server.km.yml create mode 100644 config/locales/server.kn.yml create mode 100644 config/locales/server.ko.yml create mode 100644 config/locales/server.ku.yml create mode 100644 config/locales/server.lo.yml create mode 100644 config/locales/server.lt.yml create mode 100644 config/locales/server.lv.yml create mode 100644 config/locales/server.mk.yml create mode 100644 config/locales/server.ml.yml create mode 100644 config/locales/server.mn.yml create mode 100644 config/locales/server.ms.yml create mode 100644 config/locales/server.ne.yml create mode 100644 config/locales/server.nl.yml create mode 100644 config/locales/server.no.yml create mode 100644 config/locales/server.om.yml create mode 100644 config/locales/server.pa.yml create mode 100644 config/locales/server.pl.yml create mode 100644 config/locales/server.pt.yml create mode 100644 config/locales/server.ro.yml create mode 100644 config/locales/server.ru.yml create mode 100644 config/locales/server.sd.yml create mode 100644 config/locales/server.sk.yml create mode 100644 config/locales/server.sl.yml create mode 100644 config/locales/server.sq.yml create mode 100644 config/locales/server.sr.yml create mode 100644 config/locales/server.sv.yml create mode 100644 config/locales/server.sw.yml create mode 100644 config/locales/server.ta.yml create mode 100644 config/locales/server.te.yml create mode 100644 config/locales/server.th.yml create mode 100644 config/locales/server.tl.yml create mode 100644 config/locales/server.tr.yml create mode 100644 config/locales/server.tt.yml create mode 100644 config/locales/server.uk.yml create mode 100644 config/locales/server.ur.yml create mode 100644 config/locales/server.vi.yml create mode 100644 config/locales/server.yi.yml create mode 100644 config/locales/server.zh.yml create mode 100644 config/locales/server.zu.yml diff --git a/config/locales/client.af.yml b/config/locales/client.af.yml new file mode 100644 index 00000000..2f399b99 --- /dev/null +++ b/config/locales/client.af.yml @@ -0,0 +1,531 @@ +af: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.ar.yml b/config/locales/client.ar.yml new file mode 100644 index 00000000..b7253bba --- /dev/null +++ b/config/locales/client.ar.yml @@ -0,0 +1,543 @@ +ar: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + zero: "You can only select {{count}} items." + one: "You can only select {{count}} item." + two: "You can only select {{count}} items." + few: "You can only select {{count}} items." + many: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + zero: "Select at least {{count}} items." + one: "Select at least {{count}} item." + two: "Select at least {{count}} items." + few: "Select at least {{count}} items." + many: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + zero: "%{count} Characters" + one: "%{count} Character" + two: "%{count} Characters" + few: "%{count} Characters" + many: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.az.yml b/config/locales/client.az.yml new file mode 100644 index 00000000..990f6a37 --- /dev/null +++ b/config/locales/client.az.yml @@ -0,0 +1,531 @@ +az: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.be.yml b/config/locales/client.be.yml new file mode 100644 index 00000000..f6fd6764 --- /dev/null +++ b/config/locales/client.be.yml @@ -0,0 +1,537 @@ +be: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + few: "You can only select {{count}} items." + many: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + few: "Select at least {{count}} items." + many: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + few: "%{count} Characters" + many: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.bg.yml b/config/locales/client.bg.yml new file mode 100644 index 00000000..058baf4d --- /dev/null +++ b/config/locales/client.bg.yml @@ -0,0 +1,531 @@ +bg: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.bn.yml b/config/locales/client.bn.yml new file mode 100644 index 00000000..ca21e418 --- /dev/null +++ b/config/locales/client.bn.yml @@ -0,0 +1,531 @@ +bn: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.bo.yml b/config/locales/client.bo.yml new file mode 100644 index 00000000..cd8c7924 --- /dev/null +++ b/config/locales/client.bo.yml @@ -0,0 +1,528 @@ +bo: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + other: "You can only select {{count}} items." + min_content_not_reached: + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.bs.yml b/config/locales/client.bs.yml new file mode 100644 index 00000000..e188aece --- /dev/null +++ b/config/locales/client.bs.yml @@ -0,0 +1,534 @@ +bs: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + few: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + few: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + few: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.ca.yml b/config/locales/client.ca.yml new file mode 100644 index 00000000..7d80c17b --- /dev/null +++ b/config/locales/client.ca.yml @@ -0,0 +1,531 @@ +ca: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.cs.yml b/config/locales/client.cs.yml new file mode 100644 index 00000000..018e4236 --- /dev/null +++ b/config/locales/client.cs.yml @@ -0,0 +1,537 @@ +cs: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + few: "You can only select {{count}} items." + many: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + few: "Select at least {{count}} items." + many: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + few: "%{count} Characters" + many: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.cy.yml b/config/locales/client.cy.yml new file mode 100644 index 00000000..4510470b --- /dev/null +++ b/config/locales/client.cy.yml @@ -0,0 +1,543 @@ +cy: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + zero: "You can only select {{count}} items." + one: "You can only select {{count}} item." + two: "You can only select {{count}} items." + few: "You can only select {{count}} items." + many: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + zero: "Select at least {{count}} items." + one: "Select at least {{count}} item." + two: "Select at least {{count}} items." + few: "Select at least {{count}} items." + many: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + zero: "%{count} Characters" + one: "%{count} Character" + two: "%{count} Characters" + few: "%{count} Characters" + many: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.da.yml b/config/locales/client.da.yml new file mode 100644 index 00000000..4b254517 --- /dev/null +++ b/config/locales/client.da.yml @@ -0,0 +1,531 @@ +da: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.de.yml b/config/locales/client.de.yml new file mode 100644 index 00000000..a69bf37f --- /dev/null +++ b/config/locales/client.de.yml @@ -0,0 +1,531 @@ +de: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.el.yml b/config/locales/client.el.yml new file mode 100644 index 00000000..5a49f0c8 --- /dev/null +++ b/config/locales/client.el.yml @@ -0,0 +1,531 @@ +el: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.eo.yml b/config/locales/client.eo.yml new file mode 100644 index 00000000..ee59949b --- /dev/null +++ b/config/locales/client.eo.yml @@ -0,0 +1,531 @@ +eo: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.es.yml b/config/locales/client.es.yml new file mode 100644 index 00000000..b9d08e0b --- /dev/null +++ b/config/locales/client.es.yml @@ -0,0 +1,531 @@ +es: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.et.yml b/config/locales/client.et.yml new file mode 100644 index 00000000..490c3afc --- /dev/null +++ b/config/locales/client.et.yml @@ -0,0 +1,531 @@ +et: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.eu.yml b/config/locales/client.eu.yml new file mode 100644 index 00000000..a12a029c --- /dev/null +++ b/config/locales/client.eu.yml @@ -0,0 +1,531 @@ +eu: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.fa.yml b/config/locales/client.fa.yml new file mode 100644 index 00000000..68f2a0c8 --- /dev/null +++ b/config/locales/client.fa.yml @@ -0,0 +1,531 @@ +fa: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.fi.yml b/config/locales/client.fi.yml new file mode 100644 index 00000000..95a82ae9 --- /dev/null +++ b/config/locales/client.fi.yml @@ -0,0 +1,531 @@ +fi: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.fr.yml b/config/locales/client.fr.yml index 08c68f28..9667ee84 100644 --- a/config/locales/client.fr.yml +++ b/config/locales/client.fr.yml @@ -2,14 +2,13 @@ fr: js: wizard: complete_custom: "Bienvenu·e sur %{site_name} ! Commençons avec l'assistant %{wizard_name} ✨" - admin_js: admin: wizard: label: "Assistants" - new: "Nouveau" - custom_label: "Personnalisé" - submissions_label: "Contributions" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" name: "Nom" name_placeholder: "nom de l'assistant" background: "Fond d'écran" @@ -33,39 +32,133 @@ fr: required_label: "Les utilisatrices doivent compléter l'assistant." prompt_completion: "Invitation" prompt_completion_label: "Inviter l'utilisatrice à compléter l'assistant." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." theme_id: "Thème" no_theme: "Choisir un thème (optionnel)" save: "Sauvegarder" remove: "Supprimer l'assistant" - header: "Assistant" add: "Ajouter" url: "URL" key: "Clé" - or: "Ou" value: "Valeur" - id: "Id" - id_placeholder: "Utilise des tirets-bas (_). Ne peut être modifié." - key_placeholder: "Clé de traduction" - custom_text_placeholder: "Remplace la traduction" - custom_field_placeholder: "Champ personnalisé" - user_field_placeholder: "Champ utilisateur" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" type: "Type" none: "Faire une sélection" - select_field: "Choisir un champ" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" error: - name_required: "Les assistants doivent porter un nom." - steps_required: "Les assistants doivent comporter au-moins une étape." - id_required: "Tous les assistants, étapes, champs et actions ont besoin d'un identifiant." - type_required: "Tous les champs ont besoin d'un type." - after_time_need_time: "Le délai est activé mais aucune heure n'est établie." - after_time_invalid: "Le délai est invalide." + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" step: header: "Étapes" title: "Titre" banner: "Bannière" description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." field: - type: "Choisir un type" header: "Champs" label: "Étiquette" description: "Description" @@ -75,35 +168,252 @@ fr: required_label: "Le champ est obligatoire" min_length: "Longueur min." min_length_placeholder: "Longueur minimale en nombre de caractères" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' action: header: "Actions *" include: "Inclure les champs" title: "Titre" post: "Message" - add_fields: "Champs {{type}}" - available_fields: "* Si 'Conserver les soumissions à l'assistant' est inactif, seuls les champs de l'étape courante sont disponibles pour les actions de cette étape." topic_attr: "Attribut du sujet" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" send_message: label: "Envoyer un message" recipient: "Destinataire" create_topic: label: "Créer un sujet" category: "Catégorie" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" update_profile: label: "Mettre à jour le profil" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" post_builder: checkbox: "Générateur de message" label: "Générateur" - user_fields: "Champs utilisateurs : " + user_properties: "User Properties" wizard_fields: "Champs de l'assistant : " + wizard_actions: "Wizard Actions" placeholder: "Insérer les champs de l'assistant en utilisant l'identifiant du champ dans w{}. Insérer les champs utilisateurs en utilisant la clé du champ dans u{}." - custom_title: "Titre personnalisé" - custom_category: - label: "Catégorie personnalisée" - wizard_field: "Champ de l'assistant" - user_field: "Champ utilisateur" - + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed wizard_js: + group: + select: "Select a group" location: name: title: "Nom (optionnel)" @@ -120,6 +430,13 @@ fr: city: title: "Ville ou village" desc: "par ex. : Paris" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" country_code: title: "Pays" placeholder: "Choisir un pays" @@ -136,18 +453,38 @@ fr: validation: neighbourhood: "Merci de saisir un quartier." city: "Merci de saisir le nom d'une commune." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." countrycode: "Merci de choisir un pays." + coordinates: "Please complete the set of coordinates." geo_location: "Chercher et sélectionner un résultat." - select_kit: - filter_placeholder: "Chercher..." - + default_header_text: Select... + no_content: No matches found + filter_placeholder: Chercher... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." wizard: completed: "Vous en avez terminé avec cet assistant." not_permitted: "Vous devez obtenir un niveau de confiance à {{level}} ou plus pour accéder à cet assistant." none: "Il n'y a pas d'assistant ici." return_to_site: "Retourner à {{siteName}}" - + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" wizard_composer: show_preview: "Prévisualiser le message" hide_preview: "Modifier le message" @@ -184,3 +521,11 @@ fr: yourself_confirm: title: "Avez-vous oublié d'ajouter des destinataires ?" body: "Pour l'instant ce message n'est envoyé qu'à vous !" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.gl.yml b/config/locales/client.gl.yml new file mode 100644 index 00000000..0767376d --- /dev/null +++ b/config/locales/client.gl.yml @@ -0,0 +1,531 @@ +gl: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.he.yml b/config/locales/client.he.yml new file mode 100644 index 00000000..4fc73f73 --- /dev/null +++ b/config/locales/client.he.yml @@ -0,0 +1,537 @@ +he: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + two: "You can only select {{count}} items." + many: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + two: "Select at least {{count}} items." + many: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + two: "%{count} Characters" + many: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.hi.yml b/config/locales/client.hi.yml new file mode 100644 index 00000000..0bdd2a8f --- /dev/null +++ b/config/locales/client.hi.yml @@ -0,0 +1,531 @@ +hi: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.hr.yml b/config/locales/client.hr.yml new file mode 100644 index 00000000..a9b9e8ff --- /dev/null +++ b/config/locales/client.hr.yml @@ -0,0 +1,534 @@ +hr: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + few: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + few: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + few: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.hu.yml b/config/locales/client.hu.yml new file mode 100644 index 00000000..a70682f0 --- /dev/null +++ b/config/locales/client.hu.yml @@ -0,0 +1,531 @@ +hu: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.hy.yml b/config/locales/client.hy.yml new file mode 100644 index 00000000..028b9f42 --- /dev/null +++ b/config/locales/client.hy.yml @@ -0,0 +1,531 @@ +hy: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.id.yml b/config/locales/client.id.yml new file mode 100644 index 00000000..5a24a279 --- /dev/null +++ b/config/locales/client.id.yml @@ -0,0 +1,528 @@ +id: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + other: "You can only select {{count}} items." + min_content_not_reached: + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.is.yml b/config/locales/client.is.yml new file mode 100644 index 00000000..383c3f0a --- /dev/null +++ b/config/locales/client.is.yml @@ -0,0 +1,531 @@ +is: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.it.yml b/config/locales/client.it.yml new file mode 100644 index 00000000..6a4afdec --- /dev/null +++ b/config/locales/client.it.yml @@ -0,0 +1,531 @@ +it: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.ja.yml b/config/locales/client.ja.yml new file mode 100644 index 00000000..3b18dfe7 --- /dev/null +++ b/config/locales/client.ja.yml @@ -0,0 +1,528 @@ +ja: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + other: "You can only select {{count}} items." + min_content_not_reached: + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.ka.yml b/config/locales/client.ka.yml new file mode 100644 index 00000000..ee95af36 --- /dev/null +++ b/config/locales/client.ka.yml @@ -0,0 +1,531 @@ +ka: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.kk.yml b/config/locales/client.kk.yml new file mode 100644 index 00000000..d268cbfd --- /dev/null +++ b/config/locales/client.kk.yml @@ -0,0 +1,531 @@ +kk: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.km.yml b/config/locales/client.km.yml new file mode 100644 index 00000000..d64b2d1c --- /dev/null +++ b/config/locales/client.km.yml @@ -0,0 +1,528 @@ +km: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + other: "You can only select {{count}} items." + min_content_not_reached: + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.kn.yml b/config/locales/client.kn.yml new file mode 100644 index 00000000..8950065b --- /dev/null +++ b/config/locales/client.kn.yml @@ -0,0 +1,531 @@ +kn: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.ko.yml b/config/locales/client.ko.yml new file mode 100644 index 00000000..4d3edcc8 --- /dev/null +++ b/config/locales/client.ko.yml @@ -0,0 +1,528 @@ +ko: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + other: "You can only select {{count}} items." + min_content_not_reached: + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.ku.yml b/config/locales/client.ku.yml new file mode 100644 index 00000000..69694c34 --- /dev/null +++ b/config/locales/client.ku.yml @@ -0,0 +1,531 @@ +ku: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.lo.yml b/config/locales/client.lo.yml new file mode 100644 index 00000000..56206ebb --- /dev/null +++ b/config/locales/client.lo.yml @@ -0,0 +1,528 @@ +lo: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + other: "You can only select {{count}} items." + min_content_not_reached: + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.lt.yml b/config/locales/client.lt.yml new file mode 100644 index 00000000..01de5326 --- /dev/null +++ b/config/locales/client.lt.yml @@ -0,0 +1,537 @@ +lt: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + few: "You can only select {{count}} items." + many: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + few: "Select at least {{count}} items." + many: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + few: "%{count} Characters" + many: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.lv.yml b/config/locales/client.lv.yml new file mode 100644 index 00000000..eaaf4e35 --- /dev/null +++ b/config/locales/client.lv.yml @@ -0,0 +1,534 @@ +lv: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + zero: "You can only select {{count}} items." + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + zero: "Select at least {{count}} items." + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + zero: "%{count} Characters" + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.mk.yml b/config/locales/client.mk.yml new file mode 100644 index 00000000..aacd434f --- /dev/null +++ b/config/locales/client.mk.yml @@ -0,0 +1,531 @@ +mk: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.ml.yml b/config/locales/client.ml.yml new file mode 100644 index 00000000..f417dd95 --- /dev/null +++ b/config/locales/client.ml.yml @@ -0,0 +1,531 @@ +ml: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.mn.yml b/config/locales/client.mn.yml new file mode 100644 index 00000000..f6493025 --- /dev/null +++ b/config/locales/client.mn.yml @@ -0,0 +1,531 @@ +mn: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.ms.yml b/config/locales/client.ms.yml new file mode 100644 index 00000000..4f8c9cad --- /dev/null +++ b/config/locales/client.ms.yml @@ -0,0 +1,528 @@ +ms: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + other: "You can only select {{count}} items." + min_content_not_reached: + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.ne.yml b/config/locales/client.ne.yml new file mode 100644 index 00000000..33f52ead --- /dev/null +++ b/config/locales/client.ne.yml @@ -0,0 +1,531 @@ +ne: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.nl.yml b/config/locales/client.nl.yml new file mode 100644 index 00000000..9e8cfabb --- /dev/null +++ b/config/locales/client.nl.yml @@ -0,0 +1,531 @@ +nl: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.no.yml b/config/locales/client.no.yml new file mode 100644 index 00000000..4e0d5cab --- /dev/null +++ b/config/locales/client.no.yml @@ -0,0 +1,531 @@ +"no": + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.om.yml b/config/locales/client.om.yml new file mode 100644 index 00000000..3c7a7e46 --- /dev/null +++ b/config/locales/client.om.yml @@ -0,0 +1,531 @@ +om: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.pa.yml b/config/locales/client.pa.yml new file mode 100644 index 00000000..00236d10 --- /dev/null +++ b/config/locales/client.pa.yml @@ -0,0 +1,531 @@ +pa: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.pl.yml b/config/locales/client.pl.yml new file mode 100644 index 00000000..b665aaf5 --- /dev/null +++ b/config/locales/client.pl.yml @@ -0,0 +1,537 @@ +pl: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + few: "You can only select {{count}} items." + many: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + few: "Select at least {{count}} items." + many: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + few: "%{count} Characters" + many: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.pt.yml b/config/locales/client.pt.yml new file mode 100644 index 00000000..eba3a5ac --- /dev/null +++ b/config/locales/client.pt.yml @@ -0,0 +1,531 @@ +pt: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.ro.yml b/config/locales/client.ro.yml new file mode 100644 index 00000000..a5136d01 --- /dev/null +++ b/config/locales/client.ro.yml @@ -0,0 +1,534 @@ +ro: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + few: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + few: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + few: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.ru.yml b/config/locales/client.ru.yml new file mode 100644 index 00000000..85e8ff50 --- /dev/null +++ b/config/locales/client.ru.yml @@ -0,0 +1,537 @@ +ru: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + few: "You can only select {{count}} items." + many: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + few: "Select at least {{count}} items." + many: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + few: "%{count} Characters" + many: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.sd.yml b/config/locales/client.sd.yml new file mode 100644 index 00000000..add951c7 --- /dev/null +++ b/config/locales/client.sd.yml @@ -0,0 +1,531 @@ +sd: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.sk.yml b/config/locales/client.sk.yml new file mode 100644 index 00000000..c762d3bb --- /dev/null +++ b/config/locales/client.sk.yml @@ -0,0 +1,537 @@ +sk: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + few: "You can only select {{count}} items." + many: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + few: "Select at least {{count}} items." + many: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + few: "%{count} Characters" + many: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.sl.yml b/config/locales/client.sl.yml new file mode 100644 index 00000000..80912cb1 --- /dev/null +++ b/config/locales/client.sl.yml @@ -0,0 +1,537 @@ +sl: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + two: "You can only select {{count}} items." + few: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + two: "Select at least {{count}} items." + few: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + two: "%{count} Characters" + few: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.sq.yml b/config/locales/client.sq.yml new file mode 100644 index 00000000..089e4fce --- /dev/null +++ b/config/locales/client.sq.yml @@ -0,0 +1,531 @@ +sq: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.sr.yml b/config/locales/client.sr.yml new file mode 100644 index 00000000..5db98108 --- /dev/null +++ b/config/locales/client.sr.yml @@ -0,0 +1,534 @@ +sr-Cyrl: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + few: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + few: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + few: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.sv.yml b/config/locales/client.sv.yml new file mode 100644 index 00000000..e19dbb9c --- /dev/null +++ b/config/locales/client.sv.yml @@ -0,0 +1,531 @@ +sv: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.sw.yml b/config/locales/client.sw.yml new file mode 100644 index 00000000..5ebb0624 --- /dev/null +++ b/config/locales/client.sw.yml @@ -0,0 +1,531 @@ +sw: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.ta.yml b/config/locales/client.ta.yml new file mode 100644 index 00000000..4cfc9a90 --- /dev/null +++ b/config/locales/client.ta.yml @@ -0,0 +1,531 @@ +ta: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.te.yml b/config/locales/client.te.yml new file mode 100644 index 00000000..a3b7c377 --- /dev/null +++ b/config/locales/client.te.yml @@ -0,0 +1,531 @@ +te: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.th.yml b/config/locales/client.th.yml new file mode 100644 index 00000000..68b139ee --- /dev/null +++ b/config/locales/client.th.yml @@ -0,0 +1,528 @@ +th: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + other: "You can only select {{count}} items." + min_content_not_reached: + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.tl.yml b/config/locales/client.tl.yml new file mode 100644 index 00000000..bc3a2557 --- /dev/null +++ b/config/locales/client.tl.yml @@ -0,0 +1,531 @@ +tl: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.tr.yml b/config/locales/client.tr.yml new file mode 100644 index 00000000..b33e9e0b --- /dev/null +++ b/config/locales/client.tr.yml @@ -0,0 +1,531 @@ +tr: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.tt.yml b/config/locales/client.tt.yml new file mode 100644 index 00000000..a48bac61 --- /dev/null +++ b/config/locales/client.tt.yml @@ -0,0 +1,528 @@ +tt: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + other: "You can only select {{count}} items." + min_content_not_reached: + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.uk.yml b/config/locales/client.uk.yml new file mode 100644 index 00000000..7c1bf2b1 --- /dev/null +++ b/config/locales/client.uk.yml @@ -0,0 +1,537 @@ +uk: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + few: "You can only select {{count}} items." + many: "You can only select {{count}} items." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + few: "Select at least {{count}} items." + many: "Select at least {{count}} items." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + few: "%{count} Characters" + many: "%{count} Characters" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.ur.yml b/config/locales/client.ur.yml new file mode 100644 index 00000000..2469e86c --- /dev/null +++ b/config/locales/client.ur.yml @@ -0,0 +1,531 @@ +ur: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.vi.yml b/config/locales/client.vi.yml new file mode 100644 index 00000000..5dd7ce98 --- /dev/null +++ b/config/locales/client.vi.yml @@ -0,0 +1,528 @@ +vi: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + other: "You can only select {{count}} items." + min_content_not_reached: + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.yi.yml b/config/locales/client.yi.yml new file mode 100644 index 00000000..94cd0b5d --- /dev/null +++ b/config/locales/client.yi.yml @@ -0,0 +1,531 @@ +yi: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.zh.yml b/config/locales/client.zh.yml new file mode 100644 index 00000000..a8950f7b --- /dev/null +++ b/config/locales/client.zh.yml @@ -0,0 +1,528 @@ +zh-TW: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + other: "You can only select {{count}} items." + min_content_not_reached: + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/client.zu.yml b/config/locales/client.zu.yml new file mode 100644 index 00000000..b147ac1f --- /dev/null +++ b/config/locales/client.zu.yml @@ -0,0 +1,531 @@ +zu: + js: + wizard: + complete_custom: "Complete the {{name}}" + admin_js: + admin: + wizard: + label: "Wizard" + nav_label: "Wizards" + select: "Select a wizard" + create: "Create Wizard" + name: "Name" + name_placeholder: "wizard name" + background: "Background" + background_placeholder: "#hex" + save_submissions: "Save" + save_submissions_label: "Save wizard submissions." + multiple_submissions: "Multiple" + multiple_submissions_label: "Users can submit multiple times." + after_signup: "Signup" + after_signup_label: "Users directed to wizard after signup." + after_time: "Time" + after_time_label: "Users directed to wizard after start time:" + after_time_time_label: "Start Time" + after_time_modal: + title: "Wizard Start Time" + date: "Date" + time: "Time" + done: "Set Time" + clear: "Clear" + required: "Required" + required_label: "Users cannot skip the wizard." + prompt_completion: "Prompt" + prompt_completion_label: "Prompt user to complete wizard." + restart_on_revisit: "Restart" + restart_on_revisit_label: "Clear submissions on each visit." + resume_on_revisit: "Resume" + resume_on_revisit_label: "Ask the user if they want to resume on each visit." + theme_id: "Theme" + no_theme: "Select a Theme (optional)" + save: "Save Changes" + remove: "Delete Wizard" + add: "Add" + url: "Url" + key: "Key" + value: "Value" + profile: "profile" + translation: "Translation" + translation_placeholder: "key" + type: "Type" + none: "Make a selection" + submission_key: 'submission key' + param_key: 'param' + group: "Group" + permitted: "Permitted" + advanced: "Advanced" + undo: "Undo" + clear: "Clear" + select_type: "Select a type" + condition: "Condition" + index: "Index" + category_settings: + custom_wizard: + title: "Custom Wizard" + create_topic_wizard: "Select a wizard to replace the new topic composer in this category." + message: + wizard: + select: "Select a wizard, or create a new one" + edit: "You're editing a wizard" + create: "You're creating a new wizard" + documentation: "Check out the wizard documentation" + contact: "Contact the developer" + field: + type: "Select a field type" + edit: "You're editing a field" + documentation: "Check out the field documentation" + action: + type: "Select an action type" + edit: "You're editing an action" + documentation: "Check out the action documentation" + custom_fields: + create: "View, create, edit and destroy custom fields" + saved: "Saved custom field" + error: "Failed to save: {{messages}}" + documentation: Check out the custom field documentation + manager: + info: "Export, import or destroy wizards" + documentation: Check out the manager documentation + none_selected: Please select atleast one wizard + no_file: Please choose a file to import + file_size_error: The file size must be 512kb or less + file_format_error: The file must be a .json file + server_error: "Error: {{message}}" + importing: Importing wizards... + destroying: Destroying wizards... + import_complete: Import complete + destroy_complete: Destruction complete + editor: + show: "Show" + hide: "Hide" + preview: "{{action}} Preview" + popover: "{{action}} Fields" + input: + conditional: + name: 'if' + output: 'then' + assignment: + name: 'set' + association: + name: 'map' + validation: + name: 'ensure' + selector: + label: + text: "text" + wizard_field: "wizard field" + wizard_action: "wizard action" + user_field: "user field" + user_field_options: "user field options" + user: "user" + category: "category" + tag: "tag" + group: "group" + list: "list" + custom_field: "custom field" + value: "value" + placeholder: + text: "Enter text" + property: "Select property" + wizard_field: "Select field" + wizard_action: "Select action" + user_field: "Select field" + user_field_options: "Select field" + user: "Select user" + category: "Select category" + tag: "Select tag" + group: "Select group" + list: "Enter item" + custom_field: "Select field" + value: "Select value" + error: + failed: "failed to save wizard" + required: "{{type}} requires {{property}}" + invalid: "{{property}} is invalid" + dependent: "{{property}} is dependent on {{dependent}}" + conflict: "{{type}} with {{property}} '{{value}}' already exists" + after_time: "After time invalid" + step: + header: "Steps" + title: "Title" + banner: "Banner" + description: "Description" + required_data: + label: "Required" + not_permitted_message: "Message shown when required data not present" + permitted_params: + label: "Params" + force_final: + label: "Conditional Final Step" + description: "Display this step as the final step if conditions on later steps have not passed when the user reaches this step." + field: + header: "Fields" + label: "Label" + description: "Description" + image: "Image" + image_placeholder: "Image url" + required: "Required" + required_label: "Field is Required" + min_length: "Min Length" + min_length_placeholder: "Minimum length in characters" + max_length: "Max Length" + max_length_placeholder: "Maximum length in characters" + char_counter: "Character Counter" + char_counter_placeholder: "Display Character Counter" + field_placeholder: "Field Placeholder" + file_types: "File Types" + preview_template: "Template" + limit: "Limit" + property: "Property" + prefill: "Prefill" + content: "Content" + date_time_format: + label: "Format" + instructions: "Moment.js format" + validations: + header: "Realtime Validations" + enabled: "Enabled" + similar_topics: "Similar Topics" + position: "Position" + above: "Above" + below: "Below" + categories: "Categories" + max_topic_age: "Max Topic Age" + time_units: + days: "Days" + weeks: "Weeks" + months: "Months" + years: "Years" + type: + text: "Text" + textarea: Textarea + composer: Composer + composer_preview: Composer Preview + text_only: Text Only + number: Number + checkbox: Checkbox + url: Url + upload: Upload + dropdown: Dropdown + tag: Tag + category: Category + group: Group + user_selector: User Selector + date: Date + time: Time + date_time: Date & Time + connector: + and: "and" + or: "or" + then: "then" + set: "set" + equal: '=' + greater: '>' + less: '<' + greater_or_equal: '>=' + less_or_equal: '<=' + regex: '=~' + association: '→' + is: 'is' + action: + header: "Actions" + include: "Include Fields" + title: "Title" + post: "Post" + topic_attr: "Topic Attribute" + interpolate_fields: "Insert wizard fields using the field_id in w{}. Insert user fields using field key in u{}." + run_after: + label: "Run After" + wizard_completion: "Wizard Completion" + custom_fields: + label: "Custom" + key: "field" + skip_redirect: + label: "Redirect" + description: "Don't redirect the user to this {{type}} after the wizard completes" + suppress_notifications: + label: "Suppress Notifications" + description: "Suppress normal notifications triggered by post creation" + send_message: + label: "Send Message" + recipient: "Recipient" + create_topic: + label: "Create Topic" + category: "Category" + tags: "Tags" + visible: "Visible" + open_composer: + label: "Open Composer" + update_profile: + label: "Update Profile" + setting: "Fields" + key: "field" + watch_categories: + label: "Watch Categories" + categories: "Categories" + mute_remainder: "Mute Remainder" + notification_level: + label: "Notification Level" + regular: "Normal" + watching: "Watching" + tracking: "Tracking" + watching_first_post: "Watching First Post" + muted: "Muted" + select_a_notification_level: "Select level" + wizard_user: "Wizard User" + usernames: "Users" + post_builder: + checkbox: "Post Builder" + label: "Builder" + user_properties: "User Properties" + wizard_fields: "Wizard Fields" + wizard_actions: "Wizard Actions" + placeholder: "Insert wizard fields using the field_id in w{}. Insert user properties using property in u{}." + add_to_group: + label: "Add to Group" + route_to: + label: "Route To" + url: "Url" + code: "Code" + send_to_api: + label: "Send to API" + api: "API" + endpoint: "Endpoint" + select_an_api: "Select an API" + select_an_endpoint: "Select an endpoint" + body: "Body" + body_placeholder: "JSON" + create_category: + label: "Create Category" + name: Name + slug: Slug + color: Color + text_color: Text color + parent_category: Parent Category + permissions: Permissions + create_group: + label: Create Group + name: Name + full_name: Full Name + title: Title + bio_raw: About + owner_usernames: Owners + usernames: Members + grant_trust_level: Automatic Trust Level + mentionable_level: Mentionable Level + messageable_level: Messageable Level + visibility_level: Visibility Level + members_visibility_level: Members Visibility Level + custom_field: + nav_label: "Custom Fields" + add: "Add" + external: + label: "from another plugin" + title: "This custom field has been added by another plugin. You can use it in your wizards but you can't edit the field here." + name: + label: "Name" + select: "underscored_name" + type: + label: "Type" + select: "Select a type" + string: "String" + integer: "Integer" + boolean: "Boolean" + json: "JSON" + klass: + label: "Class" + select: "Select a class" + post: "Post" + category: "Category" + topic: "Topic" + group: "Group" + user: "User" + serializers: + label: "Serializers" + select: "Select serializers" + topic_view: "Topic View" + topic_list_item: "Topic List Item" + basic_category: "Category" + basic_group: "Group" + post: "Post" + submissions: + nav_label: "Submissions" + title: "{{name}} Submissions" + download: "Download" + api: + label: "API" + nav_label: 'APIs' + select: "Select API" + create: "Create API" + new: 'New API' + name: "Name (can't be changed)" + name_placeholder: 'Underscored' + title: 'Title' + title_placeholder: 'Display name' + remove: 'Delete' + save: "Save" + auth: + label: "Authorization" + btn: 'Authorize' + settings: "Settings" + status: "Status" + redirect_uri: "Redirect url" + type: 'Type' + type_none: 'Select a type' + url: "Authorization url" + token_url: "Token url" + client_id: 'Client id' + client_secret: 'Client secret' + username: 'username' + password: 'password' + params: + label: 'Params' + new: 'New param' + status: + label: "Status" + authorized: 'Authorized' + not_authorized: "Not authorized" + code: "Code" + access_token: "Access token" + refresh_token: "Refresh token" + expires_at: "Expires at" + refresh_at: "Refresh at" + endpoint: + label: "Endpoints" + add: "Add endpoint" + name: "Endpoint name" + method: "Select a method" + url: "Enter a url" + content_type: "Select a content type" + success_codes: "Select success codes" + log: + label: "Logs" + log: + nav_label: "Logs" + manager: + nav_label: Manager + title: Manage Wizards + export: Export + import: Import + imported: imported + upload: Select wizards.json + destroy: Destroy + destroyed: destroyed + wizard_js: + group: + select: "Select a group" + location: + name: + title: "Name (optional)" + desc: "e.g. P. Sherman Dentist" + street: + title: "Number and Street" + desc: "e.g. 42 Wallaby Way" + postalcode: + title: "Postal Code (Zip)" + desc: "e.g. 2090" + neighbourhood: + title: "Neighbourhood" + desc: "e.g. Cremorne Point" + city: + title: "City, Town or Village" + desc: "e.g. Sydney" + coordinates: "Coordinates" + lat: + title: "Latitude" + desc: "e.g. -31.9456702" + lon: + title: "Longitude" + desc: "e.g. 115.8626477" + country_code: + title: "Country" + placeholder: "Select a Country" + query: + title: "Address" + desc: "e.g. 42 Wallaby Way, Sydney." + geo: + desc: "Locations provided by {{provider}}" + btn: + label: "Find Location" + results: "Locations" + no_results: "No results. Please double check the spelling." + show_map: "Show Map" + validation: + neighbourhood: "Please enter a neighbourhood." + city: "Please enter a city, town or village." + street: "Please enter a Number and Street." + postalcode: "Please enter a Postal Code (Zip)." + countrycode: "Please select a country." + coordinates: "Please complete the set of coordinates." + geo_location: "Search and select a result." + select_kit: + default_header_text: Select... + no_content: No matches found + filter_placeholder: Search... + filter_placeholder_with_any: Search or create... + create: "Create: '{{content}}'" + max_content_reached: + one: "You can only select {{count}} item." + other: "You can only select {{count}} items." + min_content_not_reached: + one: "Select at least {{count}} item." + other: "Select at least {{count}} items." + wizard: + completed: "You have completed this wizard." + not_permitted: "You are not permitted to access this wizard." + none: "There is no wizard here." + return_to_site: "Return to {{siteName}}" + requires_login: "You need to be logged in to access this wizard." + reset: "Reset this wizard." + step_not_permitted: "You're not permitted to view this step." + incomplete_submission: + title: "Continue editing your draft submission from %{date}?" + resume: "Continue" + restart: "Start over" + x_characters: + one: "%{count} Character" + other: "%{count} Characters" + wizard_composer: + show_preview: "Preview Post" + hide_preview: "Edit Post" + quote_post_title: "Quote whole post" + bold_label: "B" + bold_title: "Strong" + bold_text: "strong text" + italic_label: "I" + italic_title: "Emphasis" + italic_text: "emphasized text" + link_title: "Hyperlink" + link_description: "enter link description here" + link_dialog_title: "Insert Hyperlink" + link_optional_text: "optional title" + link_url_placeholder: "http://example.com" + quote_title: "Blockquote" + quote_text: "Blockquote" + blockquote_text: "Blockquote" + code_title: "Preformatted text" + code_text: "indent preformatted text by 4 spaces" + paste_code_text: "type or paste code here" + upload_title: "Upload" + upload_description: "enter upload description here" + olist_title: "Numbered List" + ulist_title: "Bulleted List" + list_item: "List item" + toggle_direction: "Toggle Direction" + help: "Markdown Editing Help" + collapse: "minimize the composer panel" + abandon: "close composer and discard draft" + modal_ok: "OK" + modal_cancel: "Cancel" + cant_send_pm: "Sorry, you can't send a message to %{username}." + yourself_confirm: + title: "Did you forget to add recipients?" + body: "Right now this message is only being sent to yourself!" + realtime_validations: + similar_topics: + insufficient_characters: "Type a minimum 5 characters to start looking for similar topics" + insufficient_characters_categories: "Type a minimum 5 characters to start looking for similar topics in %{catLinks}" + results: "Your topic is similar to..." + no_results: "No similar topics." + loading: "Looking for similar topics..." + show: "show" diff --git a/config/locales/server.af.yml b/config/locales/server.af.yml new file mode 100644 index 00000000..29471043 --- /dev/null +++ b/config/locales/server.af.yml @@ -0,0 +1,52 @@ +af: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.ar.yml b/config/locales/server.ar.yml new file mode 100644 index 00000000..07192b8a --- /dev/null +++ b/config/locales/server.ar.yml @@ -0,0 +1,52 @@ +ar: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.az.yml b/config/locales/server.az.yml new file mode 100644 index 00000000..b08ff79e --- /dev/null +++ b/config/locales/server.az.yml @@ -0,0 +1,52 @@ +az: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.be.yml b/config/locales/server.be.yml new file mode 100644 index 00000000..941cc513 --- /dev/null +++ b/config/locales/server.be.yml @@ -0,0 +1,52 @@ +be: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.bg.yml b/config/locales/server.bg.yml new file mode 100644 index 00000000..5b0a5cf7 --- /dev/null +++ b/config/locales/server.bg.yml @@ -0,0 +1,52 @@ +bg: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.bn.yml b/config/locales/server.bn.yml new file mode 100644 index 00000000..82b11005 --- /dev/null +++ b/config/locales/server.bn.yml @@ -0,0 +1,52 @@ +bn: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.bo.yml b/config/locales/server.bo.yml new file mode 100644 index 00000000..a88761a0 --- /dev/null +++ b/config/locales/server.bo.yml @@ -0,0 +1,52 @@ +bo: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.bs.yml b/config/locales/server.bs.yml new file mode 100644 index 00000000..1cc7cea3 --- /dev/null +++ b/config/locales/server.bs.yml @@ -0,0 +1,52 @@ +bs: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.ca.yml b/config/locales/server.ca.yml new file mode 100644 index 00000000..a8de0e7e --- /dev/null +++ b/config/locales/server.ca.yml @@ -0,0 +1,52 @@ +ca: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.cs.yml b/config/locales/server.cs.yml new file mode 100644 index 00000000..0363305c --- /dev/null +++ b/config/locales/server.cs.yml @@ -0,0 +1,52 @@ +cs: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.cy.yml b/config/locales/server.cy.yml new file mode 100644 index 00000000..6b7de627 --- /dev/null +++ b/config/locales/server.cy.yml @@ -0,0 +1,52 @@ +cy: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.da.yml b/config/locales/server.da.yml new file mode 100644 index 00000000..6124f5f8 --- /dev/null +++ b/config/locales/server.da.yml @@ -0,0 +1,52 @@ +da: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.de.yml b/config/locales/server.de.yml new file mode 100644 index 00000000..798420d4 --- /dev/null +++ b/config/locales/server.de.yml @@ -0,0 +1,52 @@ +de: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.el.yml b/config/locales/server.el.yml new file mode 100644 index 00000000..686be275 --- /dev/null +++ b/config/locales/server.el.yml @@ -0,0 +1,52 @@ +el: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.eo.yml b/config/locales/server.eo.yml new file mode 100644 index 00000000..48d11c04 --- /dev/null +++ b/config/locales/server.eo.yml @@ -0,0 +1,52 @@ +eo: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.es.yml b/config/locales/server.es.yml new file mode 100644 index 00000000..c95e97b7 --- /dev/null +++ b/config/locales/server.es.yml @@ -0,0 +1,52 @@ +es: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.et.yml b/config/locales/server.et.yml new file mode 100644 index 00000000..9d2b46ab --- /dev/null +++ b/config/locales/server.et.yml @@ -0,0 +1,52 @@ +et: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.eu.yml b/config/locales/server.eu.yml new file mode 100644 index 00000000..76db5b2e --- /dev/null +++ b/config/locales/server.eu.yml @@ -0,0 +1,52 @@ +eu: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.fa.yml b/config/locales/server.fa.yml new file mode 100644 index 00000000..2ffe7c21 --- /dev/null +++ b/config/locales/server.fa.yml @@ -0,0 +1,52 @@ +fa: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.fi.yml b/config/locales/server.fi.yml new file mode 100644 index 00000000..c7f944aa --- /dev/null +++ b/config/locales/server.fi.yml @@ -0,0 +1,52 @@ +fi: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.fr.yml b/config/locales/server.fr.yml index 8ab2d173..818a2580 100644 --- a/config/locales/server.fr.yml +++ b/config/locales/server.fr.yml @@ -1,15 +1,52 @@ fr: admin: wizard: - submissions: - no_user: "supprimé (id : %{id})" - + submission: + no_user: "deleted (user_id: %{user_id})" wizard: custom_title: "Assistant" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" field: too_short: "%{label} doit compter au-moins %{min} caractères" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" none: "Aucun assistant n'est disponible à cette adresse." no_skip: "Cet assistant ne peut pas être ignoré" - + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" site_settings: + custom_wizard_enabled: "Enable custom wizards." wizard_redirect_exclude_paths: "Routes exclues des redirections de l'assistant." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.gl.yml b/config/locales/server.gl.yml new file mode 100644 index 00000000..d7195604 --- /dev/null +++ b/config/locales/server.gl.yml @@ -0,0 +1,52 @@ +gl: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.he.yml b/config/locales/server.he.yml new file mode 100644 index 00000000..789091fd --- /dev/null +++ b/config/locales/server.he.yml @@ -0,0 +1,52 @@ +he: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.hi.yml b/config/locales/server.hi.yml new file mode 100644 index 00000000..2d85878a --- /dev/null +++ b/config/locales/server.hi.yml @@ -0,0 +1,52 @@ +hi: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.hr.yml b/config/locales/server.hr.yml new file mode 100644 index 00000000..f54b13d7 --- /dev/null +++ b/config/locales/server.hr.yml @@ -0,0 +1,52 @@ +hr: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.hu.yml b/config/locales/server.hu.yml new file mode 100644 index 00000000..a4bc44ed --- /dev/null +++ b/config/locales/server.hu.yml @@ -0,0 +1,52 @@ +hu: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.hy.yml b/config/locales/server.hy.yml new file mode 100644 index 00000000..29d1e8ab --- /dev/null +++ b/config/locales/server.hy.yml @@ -0,0 +1,52 @@ +hy: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.id.yml b/config/locales/server.id.yml new file mode 100644 index 00000000..3d11045f --- /dev/null +++ b/config/locales/server.id.yml @@ -0,0 +1,52 @@ +id: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.is.yml b/config/locales/server.is.yml new file mode 100644 index 00000000..350529f8 --- /dev/null +++ b/config/locales/server.is.yml @@ -0,0 +1,52 @@ +is: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.it.yml b/config/locales/server.it.yml new file mode 100644 index 00000000..fc52d465 --- /dev/null +++ b/config/locales/server.it.yml @@ -0,0 +1,52 @@ +it: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.ja.yml b/config/locales/server.ja.yml new file mode 100644 index 00000000..41e9b2ff --- /dev/null +++ b/config/locales/server.ja.yml @@ -0,0 +1,52 @@ +ja: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.ka.yml b/config/locales/server.ka.yml new file mode 100644 index 00000000..23f8425a --- /dev/null +++ b/config/locales/server.ka.yml @@ -0,0 +1,52 @@ +ka: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.kk.yml b/config/locales/server.kk.yml new file mode 100644 index 00000000..b4c73c8f --- /dev/null +++ b/config/locales/server.kk.yml @@ -0,0 +1,52 @@ +kk: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.km.yml b/config/locales/server.km.yml new file mode 100644 index 00000000..ed82f24a --- /dev/null +++ b/config/locales/server.km.yml @@ -0,0 +1,52 @@ +km: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.kn.yml b/config/locales/server.kn.yml new file mode 100644 index 00000000..c014696c --- /dev/null +++ b/config/locales/server.kn.yml @@ -0,0 +1,52 @@ +kn: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.ko.yml b/config/locales/server.ko.yml new file mode 100644 index 00000000..dd0ff3c9 --- /dev/null +++ b/config/locales/server.ko.yml @@ -0,0 +1,52 @@ +ko: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.ku.yml b/config/locales/server.ku.yml new file mode 100644 index 00000000..e4d07fb1 --- /dev/null +++ b/config/locales/server.ku.yml @@ -0,0 +1,52 @@ +ku: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.lo.yml b/config/locales/server.lo.yml new file mode 100644 index 00000000..d372d103 --- /dev/null +++ b/config/locales/server.lo.yml @@ -0,0 +1,52 @@ +lo: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.lt.yml b/config/locales/server.lt.yml new file mode 100644 index 00000000..d8b1a496 --- /dev/null +++ b/config/locales/server.lt.yml @@ -0,0 +1,52 @@ +lt: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.lv.yml b/config/locales/server.lv.yml new file mode 100644 index 00000000..101cee37 --- /dev/null +++ b/config/locales/server.lv.yml @@ -0,0 +1,52 @@ +lv: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.mk.yml b/config/locales/server.mk.yml new file mode 100644 index 00000000..c199ee90 --- /dev/null +++ b/config/locales/server.mk.yml @@ -0,0 +1,52 @@ +mk: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.ml.yml b/config/locales/server.ml.yml new file mode 100644 index 00000000..789764c4 --- /dev/null +++ b/config/locales/server.ml.yml @@ -0,0 +1,52 @@ +ml: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.mn.yml b/config/locales/server.mn.yml new file mode 100644 index 00000000..f5d4bd5e --- /dev/null +++ b/config/locales/server.mn.yml @@ -0,0 +1,52 @@ +mn: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.ms.yml b/config/locales/server.ms.yml new file mode 100644 index 00000000..88efed62 --- /dev/null +++ b/config/locales/server.ms.yml @@ -0,0 +1,52 @@ +ms: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.ne.yml b/config/locales/server.ne.yml new file mode 100644 index 00000000..cfbfac26 --- /dev/null +++ b/config/locales/server.ne.yml @@ -0,0 +1,52 @@ +ne: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.nl.yml b/config/locales/server.nl.yml new file mode 100644 index 00000000..d49059c6 --- /dev/null +++ b/config/locales/server.nl.yml @@ -0,0 +1,52 @@ +nl: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.no.yml b/config/locales/server.no.yml new file mode 100644 index 00000000..8375cd7c --- /dev/null +++ b/config/locales/server.no.yml @@ -0,0 +1,52 @@ +"no": + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.om.yml b/config/locales/server.om.yml new file mode 100644 index 00000000..7986962f --- /dev/null +++ b/config/locales/server.om.yml @@ -0,0 +1,52 @@ +om: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.pa.yml b/config/locales/server.pa.yml new file mode 100644 index 00000000..598398c6 --- /dev/null +++ b/config/locales/server.pa.yml @@ -0,0 +1,52 @@ +pa: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.pl.yml b/config/locales/server.pl.yml new file mode 100644 index 00000000..ab175f28 --- /dev/null +++ b/config/locales/server.pl.yml @@ -0,0 +1,52 @@ +pl: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.pt.yml b/config/locales/server.pt.yml new file mode 100644 index 00000000..1606e062 --- /dev/null +++ b/config/locales/server.pt.yml @@ -0,0 +1,52 @@ +pt: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.ro.yml b/config/locales/server.ro.yml new file mode 100644 index 00000000..886f8aa3 --- /dev/null +++ b/config/locales/server.ro.yml @@ -0,0 +1,52 @@ +ro: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.ru.yml b/config/locales/server.ru.yml new file mode 100644 index 00000000..3031100a --- /dev/null +++ b/config/locales/server.ru.yml @@ -0,0 +1,52 @@ +ru: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.sd.yml b/config/locales/server.sd.yml new file mode 100644 index 00000000..7de20287 --- /dev/null +++ b/config/locales/server.sd.yml @@ -0,0 +1,52 @@ +sd: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.sk.yml b/config/locales/server.sk.yml new file mode 100644 index 00000000..ee9bbbf7 --- /dev/null +++ b/config/locales/server.sk.yml @@ -0,0 +1,52 @@ +sk: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.sl.yml b/config/locales/server.sl.yml new file mode 100644 index 00000000..0e557e6f --- /dev/null +++ b/config/locales/server.sl.yml @@ -0,0 +1,52 @@ +sl: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.sq.yml b/config/locales/server.sq.yml new file mode 100644 index 00000000..88842a21 --- /dev/null +++ b/config/locales/server.sq.yml @@ -0,0 +1,52 @@ +sq: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.sr.yml b/config/locales/server.sr.yml new file mode 100644 index 00000000..cde9dac2 --- /dev/null +++ b/config/locales/server.sr.yml @@ -0,0 +1,52 @@ +sr-Cyrl: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.sv.yml b/config/locales/server.sv.yml new file mode 100644 index 00000000..3baad07f --- /dev/null +++ b/config/locales/server.sv.yml @@ -0,0 +1,52 @@ +sv: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.sw.yml b/config/locales/server.sw.yml new file mode 100644 index 00000000..6a868e03 --- /dev/null +++ b/config/locales/server.sw.yml @@ -0,0 +1,52 @@ +sw: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.ta.yml b/config/locales/server.ta.yml new file mode 100644 index 00000000..8893a6f3 --- /dev/null +++ b/config/locales/server.ta.yml @@ -0,0 +1,52 @@ +ta: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.te.yml b/config/locales/server.te.yml new file mode 100644 index 00000000..0cab40b1 --- /dev/null +++ b/config/locales/server.te.yml @@ -0,0 +1,52 @@ +te: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.th.yml b/config/locales/server.th.yml new file mode 100644 index 00000000..e68d15a3 --- /dev/null +++ b/config/locales/server.th.yml @@ -0,0 +1,52 @@ +th: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.tl.yml b/config/locales/server.tl.yml new file mode 100644 index 00000000..e49bf9e1 --- /dev/null +++ b/config/locales/server.tl.yml @@ -0,0 +1,52 @@ +tl: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.tr.yml b/config/locales/server.tr.yml new file mode 100644 index 00000000..2ec9f7ee --- /dev/null +++ b/config/locales/server.tr.yml @@ -0,0 +1,52 @@ +tr: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.tt.yml b/config/locales/server.tt.yml new file mode 100644 index 00000000..a3c20230 --- /dev/null +++ b/config/locales/server.tt.yml @@ -0,0 +1,52 @@ +tt: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.uk.yml b/config/locales/server.uk.yml new file mode 100644 index 00000000..beafde24 --- /dev/null +++ b/config/locales/server.uk.yml @@ -0,0 +1,52 @@ +uk: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.ur.yml b/config/locales/server.ur.yml new file mode 100644 index 00000000..18d33b0b --- /dev/null +++ b/config/locales/server.ur.yml @@ -0,0 +1,52 @@ +ur: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.vi.yml b/config/locales/server.vi.yml new file mode 100644 index 00000000..f0afe53b --- /dev/null +++ b/config/locales/server.vi.yml @@ -0,0 +1,52 @@ +vi: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.yi.yml b/config/locales/server.yi.yml new file mode 100644 index 00000000..01eadd0f --- /dev/null +++ b/config/locales/server.yi.yml @@ -0,0 +1,52 @@ +yi: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.zh.yml b/config/locales/server.zh.yml new file mode 100644 index 00000000..ad7eb113 --- /dev/null +++ b/config/locales/server.zh.yml @@ -0,0 +1,52 @@ +zh-TW: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/config/locales/server.zu.yml b/config/locales/server.zu.yml new file mode 100644 index 00000000..0b2501cb --- /dev/null +++ b/config/locales/server.zu.yml @@ -0,0 +1,52 @@ +zu: + admin: + wizard: + submission: + no_user: "deleted (user_id: %{user_id})" + wizard: + custom_title: "Wizard" + custom_field: + error: + required_attribute: "'%{attr}' is a required attribute" + unsupported_class: "'%{class}' is not a supported class" + unsupported_serializers: "'%{serializers}' are not supported serializers for '%{class}'" + unsupported_type: "%{type} is not a supported custom field type" + name_invalid: "'%{name}' is not a valid custom field name" + name_too_short: "'%{name}' is too short for a custom field name (min length is #{min_length})" + name_already_taken: "'%{name}' is already taken as a custom field name" + save_default: "Failed to save custom field '%{name}'" + field: + too_short: "%{label} must be at least %{min} characters" + too_long: "%{label} must not be more than %{max} characters" + required: "%{label} is required." + not_url: "%{label} must be a valid url" + invalid_file: "%{label} must be a %{types}" + invalid_date: "Invalid date" + invalid_time: "Invalid time" + none: "We couldn't find a wizard at that address." + no_skip: "Wizard can't be skipped" + export: + error: + select_one: "Please select at least one valid wizard" + invalid_wizards: "No valid wizards selected" + import: + error: + no_file: "No file selected" + file_large: "File too large" + invalid_json: "File is not a valid json file" + destroy: + error: + no_template: No template found + default: Error destroying wizard + validation: + required: "%{property} is required" + conflict: "Wizard with id '%{wizard_id}' already exists" + after_signup: "You can only have one 'after signup' wizard at a time. %{wizard_id} has 'after signup' enabled." + after_signup_after_time: "You can't use 'after time' and 'after signup' on the same wizard." + after_time: "After time setting is invalid." + liquid_syntax_error: "Liquid syntax error in %{attribute}: %{message}" + site_settings: + custom_wizard_enabled: "Enable custom wizards." + wizard_redirect_exclude_paths: "Routes excluded from wizard redirects." + wizard_recognised_image_upload_formats: "File types which will result in upload displaying an image preview" + wizard_apis_enabled: "Enable API features (experimental)." diff --git a/plugin.rb b/plugin.rb index 900b5774..aaf5c685 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # name: discourse-custom-wizard # about: Create custom wizards -# version: 1.17.2 +# version: 1.17.3 # authors: Angus McLeod # url: https://github.com/paviliondev/discourse-custom-wizard # contact emails: angus@thepavilion.io From f0580d2bba0f5da049c1ef0568d18a4feaadfb4a Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Mon, 7 Feb 2022 11:10:52 +0530 Subject: [PATCH 14/33] FEATURE: allow tags from tag field to be confined to a tag group (#175) * FEATURE: allow tag field to be confined to a tag group * fixed linting * bump minor version * moved monkeypatch to a separate module * use snake case for variable names * added specs --- .../components/wizard-custom-field.hbs | 14 ++++++ .../components/wizard-tag-chooser.js.es6 | 12 ++++++ .../templates/components/wizard-field-tag.hbs | 8 +++- config/locales/client.en.yml | 1 + controllers/custom_wizard/admin/wizard.rb | 1 + extensions/discourse_tagging.rb | 17 ++++++++ extensions/tags_controller.rb | 8 ++++ lib/custom_wizard/builder.rb | 2 +- lib/custom_wizard/field.rb | 5 ++- plugin.rb | 11 ++++- .../custom_wizard/wizard_field_serializer.rb | 5 +++ spec/extensions/tags_controller_spec.rb | 43 +++++++++++++++++++ 12 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 assets/javascripts/wizard/components/wizard-tag-chooser.js.es6 create mode 100644 extensions/discourse_tagging.rb create mode 100644 extensions/tags_controller.rb create mode 100644 spec/extensions/tags_controller_spec.rb diff --git a/assets/javascripts/discourse/templates/components/wizard-custom-field.hbs b/assets/javascripts/discourse/templates/components/wizard-custom-field.hbs index 39c02c1d..f51b9fbb 100644 --- a/assets/javascripts/discourse/templates/components/wizard-custom-field.hbs +++ b/assets/javascripts/discourse/templates/components/wizard-custom-field.hbs @@ -208,6 +208,20 @@ {{/if}} +{{#if isTag}} +
+
+ +
+ +
+ {{tag-group-chooser + tagGroups=field.tag_groups + }} +
+
+{{/if}} + {{#if showAdvanced}} {{wizard-advanced-toggle showAdvanced=field.showAdvanced}} diff --git a/assets/javascripts/wizard/components/wizard-tag-chooser.js.es6 b/assets/javascripts/wizard/components/wizard-tag-chooser.js.es6 new file mode 100644 index 00000000..32a1fd6a --- /dev/null +++ b/assets/javascripts/wizard/components/wizard-tag-chooser.js.es6 @@ -0,0 +1,12 @@ +import TagChooser from "select-kit/components/tag-chooser"; + +export default TagChooser.extend({ + searchTags(url, data, callback) { + if (this.tagGroups) { + let tagGroupsString = this.tagGroups.join(","); + data.tag_groups = tagGroupsString; + } + + return this._super(url, data, callback); + }, +}); diff --git a/assets/javascripts/wizard/templates/components/wizard-field-tag.hbs b/assets/javascripts/wizard/templates/components/wizard-field-tag.hbs index 8ebc56eb..1916f3d1 100644 --- a/assets/javascripts/wizard/templates/components/wizard-field-tag.hbs +++ b/assets/javascripts/wizard/templates/components/wizard-field-tag.hbs @@ -1 +1,7 @@ -{{tag-chooser tags=field.value maximum=field.limit tabindex=field.tabindex everyTag=true}} +{{wizard-tag-chooser + tags=field.value + maximum=field.limit + tabindex=field.tabindex + tagGroups=field.tag_groups + everyTag=true +}} diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index ff500ee2..b51421a7 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -188,6 +188,7 @@ en: property: "Property" prefill: "Prefill" content: "Content" + tag_groups: "Tag Groups" date_time_format: label: "Format" instructions: "Moment.js format" diff --git a/controllers/custom_wizard/admin/wizard.rb b/controllers/custom_wizard/admin/wizard.rb index 09471680..0a59e02b 100644 --- a/controllers/custom_wizard/admin/wizard.rb +++ b/controllers/custom_wizard/admin/wizard.rb @@ -117,6 +117,7 @@ class CustomWizard::AdminWizardController < CustomWizard::AdminController condition: mapped_params, index: mapped_params, validations: {}, + tag_groups: [], ] ], actions: [ diff --git a/extensions/discourse_tagging.rb b/extensions/discourse_tagging.rb new file mode 100644 index 00000000..6c4d6040 --- /dev/null +++ b/extensions/discourse_tagging.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module CustomWizardDiscourseTagging + def filter_allowed_tags(guardian, opts = {}) + if tag_groups = RequestStore.store[:tag_groups] + tag_group_array = tag_groups.split(",") + filtered_tags = TagGroup.includes(:tags).where(name: tag_group_array).map do |tag_group| + tag_group.tags.pluck(:name) + end.flatten + + opts[:only_tag_names] ||= [] + opts[:only_tag_names].push(*filtered_tags) + end + + super + end +end diff --git a/extensions/tags_controller.rb b/extensions/tags_controller.rb new file mode 100644 index 00000000..e9618733 --- /dev/null +++ b/extensions/tags_controller.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module CustomWizardTagsController + def search + RequestStore.store[:tag_groups] = params[:tag_groups] if params[:tag_groups].present? + super + end +end diff --git a/lib/custom_wizard/builder.rb b/lib/custom_wizard/builder.rb index aede16a2..681bc459 100644 --- a/lib/custom_wizard/builder.rb +++ b/lib/custom_wizard/builder.rb @@ -86,7 +86,7 @@ class CustomWizard::Builder required: field_template['required'] } - %w(label description image key validations min_length max_length char_counter).each do |key| + %w(label description image key validations min_length max_length char_counter tag_groups).each do |key| params[key.to_sym] = field_template[key] if field_template[key] end diff --git a/lib/custom_wizard/field.rb b/lib/custom_wizard/field.rb index eb4af65d..65f29504 100644 --- a/lib/custom_wizard/field.rb +++ b/lib/custom_wizard/field.rb @@ -21,6 +21,7 @@ class CustomWizard::Field :limit, :property, :content, + :tag_groups, :preview_template, :placeholder @@ -46,6 +47,7 @@ class CustomWizard::Field @limit = attrs[:limit] @property = attrs[:property] @content = attrs[:content] + @tag_groups = attrs[:tag_groups] @preview_template = attrs[:preview_template] @placeholder = attrs[:placeholder] end @@ -111,7 +113,8 @@ class CustomWizard::Field tag: { limit: nil, prefill: nil, - content: nil + content: nil, + tag_groups: nil }, category: { limit: 1, diff --git a/plugin.rb b/plugin.rb index aaf5c685..fdbd4843 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,12 +1,14 @@ # frozen_string_literal: true # name: discourse-custom-wizard # about: Create custom wizards -# version: 1.17.3 +# version: 1.18.0 # authors: Angus McLeod # url: https://github.com/paviliondev/discourse-custom-wizard # contact emails: angus@thepavilion.io gem 'liquid', '5.0.1', require: true +## ensure compatibility with category lockdown plugin +gem 'request_store', '1.5.0', require: true register_asset 'stylesheets/common/wizard-admin.scss' register_asset 'stylesheets/common/wizard-mapper.scss' @@ -110,9 +112,11 @@ after_initialize do ../extensions/invites_controller.rb ../extensions/guardian.rb ../extensions/users_controller.rb + ../extensions/tags_controller.rb ../extensions/custom_field/preloader.rb ../extensions/custom_field/serializer.rb ../extensions/custom_field/extension.rb + ../extensions/discourse_tagging.rb ].each do |path| load File.expand_path(path, __FILE__) end @@ -249,5 +253,10 @@ after_initialize do "#{serializer_klass}_serializer".classify.constantize.prepend CustomWizardCustomFieldSerializer end + reloadable_patch do |plugin| + ::TagsController.prepend CustomWizardTagsController + ::DiscourseTagging.singleton_class.prepend CustomWizardDiscourseTagging + end + DiscourseEvent.trigger(:custom_wizard_ready) end diff --git a/serializers/custom_wizard/wizard_field_serializer.rb b/serializers/custom_wizard/wizard_field_serializer.rb index 37f7a80f..9aa750e5 100644 --- a/serializers/custom_wizard/wizard_field_serializer.rb +++ b/serializers/custom_wizard/wizard_field_serializer.rb @@ -16,6 +16,7 @@ class CustomWizard::FieldSerializer < ::ApplicationSerializer :limit, :property, :content, + :tag_groups, :validations, :max_length, :char_counter, @@ -100,6 +101,10 @@ class CustomWizard::FieldSerializer < ::ApplicationSerializer object.content end + def content + object.tag_groups + end + def validations validations = {} object.validations&.each do |type, props| diff --git a/spec/extensions/tags_controller_spec.rb b/spec/extensions/tags_controller_spec.rb new file mode 100644 index 00000000..455990c6 --- /dev/null +++ b/spec/extensions/tags_controller_spec.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +require_relative '../plugin_helper' + +describe ::TagsController, type: :request do + fab!(:tag_1) { Fabricate(:tag, name: "Angus") } + fab!(:tag_2) { Fabricate(:tag, name: "Faizaan") } + fab!(:tag_3) { Fabricate(:tag, name: "Robert") } + fab!(:tag_4) { Fabricate(:tag, name: "Eli") } + fab!(:tag_5) { Fabricate(:tag, name: "Jeff") } + + fab!(:tag_group_1) { Fabricate(:tag_group, tags: [tag_1, tag_2]) } + fab!(:tag_group_2) { Fabricate(:tag_group, tags: [tag_3, tag_4]) } + + describe "#search" do + context "tag group param present" do + it "returns tags only only in the tag group" do + get "/tags/filter/search.json", params: { q: '', tag_groups: [tag_group_1.name, tag_group_2.name] } + expect(response.status).to eq(200) + results = response.parsed_body['results'] + names = results.map { |result| result['name'] } + + expected_tag_names = TagGroup + .includes(:tags) + .where(id: [tag_group_1.id, tag_group_2.id]) + .map { |tag_group| tag_group.tags.pluck(:name) }.flatten + expect(names).to contain_exactly(*expected_tag_names) + end + end + + context "tag group param not present" do + it "returns all tags" do + get "/tags/filter/search.json", params: { q: '' } + expect(response.status).to eq(200) + results = response.parsed_body['results'] + names = results.map { |result| result['name'] } + + all_tag_names = Tag.all.pluck(:name) + expect(names).to contain_exactly(*all_tag_names) + end + end + end +end From ba7e8d7cd29fa399d622c7e2c503b50d05dee250 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Wed, 9 Feb 2022 09:54:55 +1100 Subject: [PATCH 15/33] Update plugin.rb --- plugin.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index fdbd4843..b823a9d1 100644 --- a/plugin.rb +++ b/plugin.rb @@ -8,7 +8,6 @@ gem 'liquid', '5.0.1', require: true ## ensure compatibility with category lockdown plugin -gem 'request_store', '1.5.0', require: true register_asset 'stylesheets/common/wizard-admin.scss' register_asset 'stylesheets/common/wizard-mapper.scss' From dd067768fd921c2a39bdaec92e3858095231b427 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Wed, 9 Feb 2022 10:30:46 +1100 Subject: [PATCH 16/33] FIX: use request_store properly --- extensions/discourse_tagging.rb | 3 ++- extensions/tags_controller.rb | 3 ++- spec/extensions/tags_controller_spec.rb | 7 ++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/extensions/discourse_tagging.rb b/extensions/discourse_tagging.rb index 6c4d6040..3c81bbb3 100644 --- a/extensions/discourse_tagging.rb +++ b/extensions/discourse_tagging.rb @@ -1,8 +1,9 @@ # frozen_string_literal: true +require 'request_store' module CustomWizardDiscourseTagging def filter_allowed_tags(guardian, opts = {}) - if tag_groups = RequestStore.store[:tag_groups] + if tag_groups = ::RequestStore.store[:tag_groups] tag_group_array = tag_groups.split(",") filtered_tags = TagGroup.includes(:tags).where(name: tag_group_array).map do |tag_group| tag_group.tags.pluck(:name) diff --git a/extensions/tags_controller.rb b/extensions/tags_controller.rb index e9618733..0ddacb5f 100644 --- a/extensions/tags_controller.rb +++ b/extensions/tags_controller.rb @@ -1,8 +1,9 @@ # frozen_string_literal: true +require 'request_store' module CustomWizardTagsController def search - RequestStore.store[:tag_groups] = params[:tag_groups] if params[:tag_groups].present? + ::RequestStore.store[:tag_groups] = params[:tag_groups] if params[:tag_groups].present? super end end diff --git a/spec/extensions/tags_controller_spec.rb b/spec/extensions/tags_controller_spec.rb index 455990c6..6df00d9a 100644 --- a/spec/extensions/tags_controller_spec.rb +++ b/spec/extensions/tags_controller_spec.rb @@ -12,9 +12,13 @@ describe ::TagsController, type: :request do fab!(:tag_group_1) { Fabricate(:tag_group, tags: [tag_1, tag_2]) } fab!(:tag_group_2) { Fabricate(:tag_group, tags: [tag_3, tag_4]) } + before do + ::RequestStore.store[:tag_groups] = nil + end + describe "#search" do context "tag group param present" do - it "returns tags only only in the tag group" do + it "returns tags only in the tag group" do get "/tags/filter/search.json", params: { q: '', tag_groups: [tag_group_1.name, tag_group_2.name] } expect(response.status).to eq(200) results = response.parsed_body['results'] @@ -24,6 +28,7 @@ describe ::TagsController, type: :request do .includes(:tags) .where(id: [tag_group_1.id, tag_group_2.id]) .map { |tag_group| tag_group.tags.pluck(:name) }.flatten + expect(names).to contain_exactly(*expected_tag_names) end end From 3b7b0e1a542f2dca8200693e3661b2d774fd1b7c Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Wed, 9 Feb 2022 12:31:18 +0530 Subject: [PATCH 17/33] cleanup --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index b823a9d1..0083ddd7 100644 --- a/plugin.rb +++ b/plugin.rb @@ -7,7 +7,7 @@ # contact emails: angus@thepavilion.io gem 'liquid', '5.0.1', require: true -## ensure compatibility with category lockdown plugin + register_asset 'stylesheets/common/wizard-admin.scss' register_asset 'stylesheets/common/wizard-mapper.scss' From 620153060655f2dffc0faadd9496d64d486bb2d2 Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Fri, 11 Feb 2022 00:01:43 +0530 Subject: [PATCH 18/33] FIX: add required dependency --- assets/javascripts/wizard-custom.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/assets/javascripts/wizard-custom.js b/assets/javascripts/wizard-custom.js index 826cdf2d..dad82a92 100644 --- a/assets/javascripts/wizard-custom.js +++ b/assets/javascripts/wizard-custom.js @@ -53,6 +53,8 @@ //= require discourse/app/initializers/jquery-plugins //= require discourse/app/pre-initializers/sniff-capabilities +//= require_tree_discourse pretty-text + //= require ember-addons/decorator-alias //= require ember-addons/macro-alias //= require ember-addons/fmt From dcefd7c39e591790105ccdb0af61a7059121b3ea Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Fri, 11 Feb 2022 19:20:48 +0530 Subject: [PATCH 19/33] FIX: add pretty-text-bundle --- assets/javascripts/wizard-custom.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/wizard-custom.js b/assets/javascripts/wizard-custom.js index dad82a92..de0804a9 100644 --- a/assets/javascripts/wizard-custom.js +++ b/assets/javascripts/wizard-custom.js @@ -53,7 +53,7 @@ //= require discourse/app/initializers/jquery-plugins //= require discourse/app/pre-initializers/sniff-capabilities -//= require_tree_discourse pretty-text +//= require pretty-text-bundle //= require ember-addons/decorator-alias //= require ember-addons/macro-alias From 038604e2845d6e4d74357108cbc4067c1c093a40 Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Wed, 16 Feb 2022 19:44:56 +0530 Subject: [PATCH 20/33] FIX: checkout correct branches of plugin and discourse (#182) * FIX: checkout correct branches of plugin and discourse * add condition to check correct discourse branch * FIX: use updated redis version * bump patch version --- .github/workflows/plugin-tests.yml | 12 ++++++++++-- plugin.rb | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/plugin-tests.yml b/.github/workflows/plugin-tests.yml index 855bdfec..aec4fa6c 100644 --- a/.github/workflows/plugin-tests.yml +++ b/.github/workflows/plugin-tests.yml @@ -31,7 +31,7 @@ jobs: build_type: ["backend", "frontend"] ruby: ["2.7"] postgres: ["12"] - redis: ["4.x"] + redis: ["6.x"] services: postgres: @@ -49,10 +49,17 @@ jobs: --health-retries 5 steps: + - uses: haya14busa/action-cond@v1 + id: discourse_branch + with: + cond: ${{ github.base_ref == 'stable' }} + if_true: "stable" + if_false: "tests-passed" + - uses: actions/checkout@v2 with: repository: discourse/discourse - ref: "${{ (github.base_ref || github.ref) }}" + ref: ${{ steps.discourse_branch.outputs.value }} fetch-depth: 1 - name: Fetch Repo Name @@ -63,6 +70,7 @@ jobs: uses: actions/checkout@v2 with: path: plugins/${{ steps.repo-name.outputs.value }} + ref: "${{ github.base_ref }}" fetch-depth: 1 - name: Check spec existence diff --git a/plugin.rb b/plugin.rb index 0083ddd7..b1b3bbdb 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # name: discourse-custom-wizard # about: Create custom wizards -# version: 1.18.0 +# version: 1.18.1 # authors: Angus McLeod # url: https://github.com/paviliondev/discourse-custom-wizard # contact emails: angus@thepavilion.io From dbd725107339b5038ac1904a408d4708c901ebcf Mon Sep 17 00:00:00 2001 From: Scott Date: Mon, 28 Feb 2022 12:34:48 +0000 Subject: [PATCH 21/33] Update wizard_field_serializer.rb --- serializers/custom_wizard/wizard_field_serializer.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serializers/custom_wizard/wizard_field_serializer.rb b/serializers/custom_wizard/wizard_field_serializer.rb index 9aa750e5..70784f7f 100644 --- a/serializers/custom_wizard/wizard_field_serializer.rb +++ b/serializers/custom_wizard/wizard_field_serializer.rb @@ -101,7 +101,7 @@ class CustomWizard::FieldSerializer < ::ApplicationSerializer object.content end - def content + def tag_groups object.tag_groups end From c5da68823e566bd9e68bf9580760161e536a1c9f Mon Sep 17 00:00:00 2001 From: Scott Date: Mon, 28 Feb 2022 12:43:10 +0000 Subject: [PATCH 22/33] Update plugin.rb --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index b1b3bbdb..b243c6f4 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # name: discourse-custom-wizard # about: Create custom wizards -# version: 1.18.1 +# version: 1.18.2 # authors: Angus McLeod # url: https://github.com/paviliondev/discourse-custom-wizard # contact emails: angus@thepavilion.io From 3169c0803eee11d90dbfa6ea1df10dcf3a863609 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Thu, 3 Mar 2022 20:38:49 +0100 Subject: [PATCH 23/33] BUGFIX: assignment does not need mapping --- lib/custom_wizard/builder.rb | 9 --------- 1 file changed, 9 deletions(-) diff --git a/lib/custom_wizard/builder.rb b/lib/custom_wizard/builder.rb index 681bc459..8279d070 100644 --- a/lib/custom_wizard/builder.rb +++ b/lib/custom_wizard/builder.rb @@ -154,15 +154,6 @@ class CustomWizard::Builder end end - if content[:type] == 'assignment' && field_template['type'] === 'dropdown' - content[:result] = content[:result].map do |item| - { - id: item, - name: item - } - end - end - params[:content] = content[:result] end end From 71af94c80bc6c86821440d4d2749086a37eb8815 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Thu, 3 Mar 2022 20:40:29 +0100 Subject: [PATCH 24/33] Version bump --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index b243c6f4..b5eb348d 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # name: discourse-custom-wizard # about: Create custom wizards -# version: 1.18.2 +# version: 1.18.3 # authors: Angus McLeod # url: https://github.com/paviliondev/discourse-custom-wizard # contact emails: angus@thepavilion.io From cb1054bcd6cba1f661684b11d37e531933b167be Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Thu, 3 Mar 2022 20:47:30 +0100 Subject: [PATCH 25/33] FIX: output text for dropdown should not be possible --- .../discourse/components/wizard-custom-field.js.es6 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/javascripts/discourse/components/wizard-custom-field.js.es6 b/assets/javascripts/discourse/components/wizard-custom-field.js.es6 index b5c10c65..8efb7f0c 100644 --- a/assets/javascripts/discourse/components/wizard-custom-field.js.es6 +++ b/assets/javascripts/discourse/components/wizard-custom-field.js.es6 @@ -86,8 +86,8 @@ export default Component.extend(UndoChanges, { if (this.isDropdown) { options.wizardFieldSelection = "key,value"; options.userFieldOptionsSelection = "output"; - options.textSelection = "key,value,output"; - options.inputTypes = "conditional,association,assignment"; + options.textSelection = "key,value"; + options.inputTypes = "association,conditional,assignment"; options.pairConnector = "association"; options.keyPlaceholder = "admin.wizard.key"; options.valuePlaceholder = "admin.wizard.value"; From caf2333326284845376d9e72e72f2d755fe1c500 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Thu, 3 Mar 2022 21:02:44 +0100 Subject: [PATCH 26/33] Bump coverage --- coverage/.last_run.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coverage/.last_run.json b/coverage/.last_run.json index a2dfb49e..4c7365e8 100644 --- a/coverage/.last_run.json +++ b/coverage/.last_run.json @@ -1,5 +1,5 @@ { "result": { - "line": 92.52 + "line": 92.87 } } From f9b35a25410606c454275905a461fdc79d6644a7 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Mon, 7 Mar 2022 09:02:39 +0100 Subject: [PATCH 27/33] COMPATIBILITY: Remove lodash --- assets/javascripts/wizard-custom.js | 1 - 1 file changed, 1 deletion(-) diff --git a/assets/javascripts/wizard-custom.js b/assets/javascripts/wizard-custom.js index de0804a9..99a96a00 100644 --- a/assets/javascripts/wizard-custom.js +++ b/assets/javascripts/wizard-custom.js @@ -61,7 +61,6 @@ //= require polyfills //= require markdown-it-bundle -//= require lodash.js //= require template_include.js //= require itsatrap.js //= require caret_position.js From 46c86cda58826b9e60118a660055bc0804b84bb8 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Sat, 12 Mar 2022 14:00:07 +0100 Subject: [PATCH 28/33] Move to new coverage approach --- .github/workflows/plugin-tests.yml | 7 +- .simplecov | 6 ++ .../controllers}/custom_wizard/admin/admin.rb | 0 .../controllers}/custom_wizard/admin/api.rb | 0 .../custom_wizard/admin/custom_fields.rb | 0 .../controllers}/custom_wizard/admin/logs.rb | 0 .../custom_wizard/admin/manager.rb | 0 .../custom_wizard/admin/submissions.rb | 0 .../custom_wizard/admin/wizard.rb | 0 .../custom_wizard/realtime_validations.rb | 0 .../controllers}/custom_wizard/steps.rb | 0 .../controllers}/custom_wizard/wizard.rb | 2 +- .../jobs}/refresh_api_access_token.rb | 0 {jobs => app/jobs}/set_after_time_wizard.rb | 0 .../api/authorization_serializer.rb | 0 .../api/basic_endpoint_serializer.rb | 0 .../custom_wizard/api/endpoint_serializer.rb | 0 .../custom_wizard/api/log_serializer.rb | 0 .../custom_wizard/api_serializer.rb | 0 .../custom_wizard/basic_api_serializer.rb | 0 .../custom_wizard/basic_wizard_serializer.rb | 0 .../custom_wizard/custom_field_serializer.rb | 0 .../custom_wizard/log_serializer.rb | 0 .../similar_topics_serializer.rb | 0 .../custom_wizard/submission_serializer.rb | 0 .../custom_wizard/wizard_field_serializer.rb | 0 .../custom_wizard/wizard_serializer.rb | 0 .../custom_wizard/wizard_step_serializer.rb | 0 {views => app/views}/layouts/wizard.html.erb | 0 coverage/.last_run.json | 2 +- .../extensions}/custom_field/extension.rb | 0 .../extensions}/custom_field/preloader.rb | 0 .../extensions}/custom_field/serializer.rb | 0 .../extensions}/discourse_tagging.rb | 0 .../extensions}/extra_locales_controller.rb | 0 .../custom_wizard/extensions}/guardian.rb | 0 .../extensions}/invites_controller.rb | 0 .../extensions}/tags_controller.rb | 0 .../extensions}/users_controller.rb | 0 plugin.rb | 70 +++++++++---------- spec/components/custom_wizard/action_spec.rb | 1 - spec/components/custom_wizard/builder_spec.rb | 1 - spec/components/custom_wizard/cache_spec.rb | 2 - .../custom_wizard/custom_field_spec.rb | 2 - spec/components/custom_wizard/field_spec.rb | 1 - spec/components/custom_wizard/log_spec.rb | 1 - spec/components/custom_wizard/mapper_spec.rb | 1 - .../custom_wizard/realtime_validation_spec.rb | 2 - .../similar_topics_spec.rb | 2 - spec/components/custom_wizard/step_spec.rb | 1 - .../custom_wizard/submission_spec.rb | 1 - .../components/custom_wizard/template_spec.rb | 1 - .../custom_wizard/template_validator_spec.rb | 1 - .../custom_wizard/update_validator_spec.rb | 1 - spec/components/custom_wizard/wizard_spec.rb | 2 - .../custom_field_extensions_spec.rb | 2 - .../extra_locales_controller_spec.rb | 1 - spec/extensions/guardian_extension_spec.rb | 2 - spec/extensions/invites_controller_spec.rb | 1 - spec/extensions/sprockets_directive_spec.rb | 2 - spec/extensions/tags_controller_spec.rb | 2 - spec/extensions/users_controller_spec.rb | 1 - spec/jobs/set_after_time_wizard_spec.rb | 2 - spec/plugin_helper.rb | 17 ----- .../admin/custom_fields_controller_spec.rb | 1 - .../admin/logs_controller_spec.rb | 1 - .../admin/manager_controller_spec.rb | 1 - .../admin/submissions_controller_spec.rb | 1 - .../admin/wizard_controller_spec.rb | 1 - .../application_controller_spec.rb | 1 - .../custom_field_extensions_spec.rb | 2 - .../realtime_validations_spec.rb | 2 - .../custom_wizard/steps_controller_spec.rb | 1 - .../custom_wizard/wizard_controller_spec.rb | 1 - .../basic_wizard_serializer_spec.rb | 2 - .../custom_field_serializer_spec.rb | 2 - .../custom_wizard/log_serializer_spec.rb | 2 - .../wizard_field_serializer_spec.rb | 2 - .../custom_wizard/wizard_serializer_spec.rb | 2 - .../wizard_step_serializer_spec.rb | 2 - 80 files changed, 49 insertions(+), 112 deletions(-) create mode 100644 .simplecov rename {controllers => app/controllers}/custom_wizard/admin/admin.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/api.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/custom_fields.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/logs.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/manager.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/submissions.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/wizard.rb (100%) rename {controllers => app/controllers}/custom_wizard/realtime_validations.rb (100%) rename {controllers => app/controllers}/custom_wizard/steps.rb (100%) rename {controllers => app/controllers}/custom_wizard/wizard.rb (98%) rename {jobs => app/jobs}/refresh_api_access_token.rb (100%) rename {jobs => app/jobs}/set_after_time_wizard.rb (100%) rename {serializers => app/serializers}/custom_wizard/api/authorization_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/api/basic_endpoint_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/api/endpoint_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/api/log_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/api_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/basic_api_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/basic_wizard_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/custom_field_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/log_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/realtime_validation/similar_topics_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/submission_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/wizard_field_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/wizard_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/wizard_step_serializer.rb (100%) rename {views => app/views}/layouts/wizard.html.erb (100%) rename {extensions => lib/custom_wizard/extensions}/custom_field/extension.rb (100%) rename {extensions => lib/custom_wizard/extensions}/custom_field/preloader.rb (100%) rename {extensions => lib/custom_wizard/extensions}/custom_field/serializer.rb (100%) rename {extensions => lib/custom_wizard/extensions}/discourse_tagging.rb (100%) rename {extensions => lib/custom_wizard/extensions}/extra_locales_controller.rb (100%) rename {extensions => lib/custom_wizard/extensions}/guardian.rb (100%) rename {extensions => lib/custom_wizard/extensions}/invites_controller.rb (100%) rename {extensions => lib/custom_wizard/extensions}/tags_controller.rb (100%) rename {extensions => lib/custom_wizard/extensions}/users_controller.rb (100%) delete mode 100644 spec/plugin_helper.rb diff --git a/.github/workflows/plugin-tests.yml b/.github/workflows/plugin-tests.yml index aec4fa6c..18f09d5d 100644 --- a/.github/workflows/plugin-tests.yml +++ b/.github/workflows/plugin-tests.yml @@ -141,7 +141,12 @@ jobs: - name: Plugin RSpec with Coverage if: matrix.build_type == 'backend' && steps.check_spec.outputs.files_exists == 'true' - run: SIMPLECOV=1 bin/rake plugin:spec[${{ steps.repo-name.outputs.value }}] + run: | + if [ -e plugins/${{ steps.repo-name.outputs.value }}/.simplecov ] + cp plugins/${{ steps.repo-name.outputs.value }}/.simplecov .simplecov + export COVERAGE=1 + fi + bin/rake plugin:spec[${{ steps.repo-name.outputs.value }}] - name: Plugin QUnit if: matrix.build_type == 'frontend' && steps.check_qunit.outputs.files_exists == 'true' diff --git a/.simplecov b/.simplecov new file mode 100644 index 00000000..18b59116 --- /dev/null +++ b/.simplecov @@ -0,0 +1,6 @@ +plugin = "discourse-custom-wizard" + +SimpleCov.configure do + track_files "plugins/#{plugin}/**/*.rb" + add_filter { |src| !(src.filename =~ /(\/#{plugin}\/app\/|\/#{plugin}\/lib\/)/) } +end diff --git a/controllers/custom_wizard/admin/admin.rb b/app/controllers/custom_wizard/admin/admin.rb similarity index 100% rename from controllers/custom_wizard/admin/admin.rb rename to app/controllers/custom_wizard/admin/admin.rb diff --git a/controllers/custom_wizard/admin/api.rb b/app/controllers/custom_wizard/admin/api.rb similarity index 100% rename from controllers/custom_wizard/admin/api.rb rename to app/controllers/custom_wizard/admin/api.rb diff --git a/controllers/custom_wizard/admin/custom_fields.rb b/app/controllers/custom_wizard/admin/custom_fields.rb similarity index 100% rename from controllers/custom_wizard/admin/custom_fields.rb rename to app/controllers/custom_wizard/admin/custom_fields.rb diff --git a/controllers/custom_wizard/admin/logs.rb b/app/controllers/custom_wizard/admin/logs.rb similarity index 100% rename from controllers/custom_wizard/admin/logs.rb rename to app/controllers/custom_wizard/admin/logs.rb diff --git a/controllers/custom_wizard/admin/manager.rb b/app/controllers/custom_wizard/admin/manager.rb similarity index 100% rename from controllers/custom_wizard/admin/manager.rb rename to app/controllers/custom_wizard/admin/manager.rb diff --git a/controllers/custom_wizard/admin/submissions.rb b/app/controllers/custom_wizard/admin/submissions.rb similarity index 100% rename from controllers/custom_wizard/admin/submissions.rb rename to app/controllers/custom_wizard/admin/submissions.rb diff --git a/controllers/custom_wizard/admin/wizard.rb b/app/controllers/custom_wizard/admin/wizard.rb similarity index 100% rename from controllers/custom_wizard/admin/wizard.rb rename to app/controllers/custom_wizard/admin/wizard.rb diff --git a/controllers/custom_wizard/realtime_validations.rb b/app/controllers/custom_wizard/realtime_validations.rb similarity index 100% rename from controllers/custom_wizard/realtime_validations.rb rename to app/controllers/custom_wizard/realtime_validations.rb diff --git a/controllers/custom_wizard/steps.rb b/app/controllers/custom_wizard/steps.rb similarity index 100% rename from controllers/custom_wizard/steps.rb rename to app/controllers/custom_wizard/steps.rb diff --git a/controllers/custom_wizard/wizard.rb b/app/controllers/custom_wizard/wizard.rb similarity index 98% rename from controllers/custom_wizard/wizard.rb rename to app/controllers/custom_wizard/wizard.rb index 854d1e39..12e6bdff 100644 --- a/controllers/custom_wizard/wizard.rb +++ b/app/controllers/custom_wizard/wizard.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class CustomWizard::WizardController < ::ApplicationController include ApplicationHelper - prepend_view_path(Rails.root.join('plugins', 'discourse-custom-wizard', 'views')) + prepend_view_path(Rails.root.join('plugins', 'discourse-custom-wizard', 'app', 'views')) layout 'wizard' before_action :ensure_plugin_enabled diff --git a/jobs/refresh_api_access_token.rb b/app/jobs/refresh_api_access_token.rb similarity index 100% rename from jobs/refresh_api_access_token.rb rename to app/jobs/refresh_api_access_token.rb diff --git a/jobs/set_after_time_wizard.rb b/app/jobs/set_after_time_wizard.rb similarity index 100% rename from jobs/set_after_time_wizard.rb rename to app/jobs/set_after_time_wizard.rb diff --git a/serializers/custom_wizard/api/authorization_serializer.rb b/app/serializers/custom_wizard/api/authorization_serializer.rb similarity index 100% rename from serializers/custom_wizard/api/authorization_serializer.rb rename to app/serializers/custom_wizard/api/authorization_serializer.rb diff --git a/serializers/custom_wizard/api/basic_endpoint_serializer.rb b/app/serializers/custom_wizard/api/basic_endpoint_serializer.rb similarity index 100% rename from serializers/custom_wizard/api/basic_endpoint_serializer.rb rename to app/serializers/custom_wizard/api/basic_endpoint_serializer.rb diff --git a/serializers/custom_wizard/api/endpoint_serializer.rb b/app/serializers/custom_wizard/api/endpoint_serializer.rb similarity index 100% rename from serializers/custom_wizard/api/endpoint_serializer.rb rename to app/serializers/custom_wizard/api/endpoint_serializer.rb diff --git a/serializers/custom_wizard/api/log_serializer.rb b/app/serializers/custom_wizard/api/log_serializer.rb similarity index 100% rename from serializers/custom_wizard/api/log_serializer.rb rename to app/serializers/custom_wizard/api/log_serializer.rb diff --git a/serializers/custom_wizard/api_serializer.rb b/app/serializers/custom_wizard/api_serializer.rb similarity index 100% rename from serializers/custom_wizard/api_serializer.rb rename to app/serializers/custom_wizard/api_serializer.rb diff --git a/serializers/custom_wizard/basic_api_serializer.rb b/app/serializers/custom_wizard/basic_api_serializer.rb similarity index 100% rename from serializers/custom_wizard/basic_api_serializer.rb rename to app/serializers/custom_wizard/basic_api_serializer.rb diff --git a/serializers/custom_wizard/basic_wizard_serializer.rb b/app/serializers/custom_wizard/basic_wizard_serializer.rb similarity index 100% rename from serializers/custom_wizard/basic_wizard_serializer.rb rename to app/serializers/custom_wizard/basic_wizard_serializer.rb diff --git a/serializers/custom_wizard/custom_field_serializer.rb b/app/serializers/custom_wizard/custom_field_serializer.rb similarity index 100% rename from serializers/custom_wizard/custom_field_serializer.rb rename to app/serializers/custom_wizard/custom_field_serializer.rb diff --git a/serializers/custom_wizard/log_serializer.rb b/app/serializers/custom_wizard/log_serializer.rb similarity index 100% rename from serializers/custom_wizard/log_serializer.rb rename to app/serializers/custom_wizard/log_serializer.rb diff --git a/serializers/custom_wizard/realtime_validation/similar_topics_serializer.rb b/app/serializers/custom_wizard/realtime_validation/similar_topics_serializer.rb similarity index 100% rename from serializers/custom_wizard/realtime_validation/similar_topics_serializer.rb rename to app/serializers/custom_wizard/realtime_validation/similar_topics_serializer.rb diff --git a/serializers/custom_wizard/submission_serializer.rb b/app/serializers/custom_wizard/submission_serializer.rb similarity index 100% rename from serializers/custom_wizard/submission_serializer.rb rename to app/serializers/custom_wizard/submission_serializer.rb diff --git a/serializers/custom_wizard/wizard_field_serializer.rb b/app/serializers/custom_wizard/wizard_field_serializer.rb similarity index 100% rename from serializers/custom_wizard/wizard_field_serializer.rb rename to app/serializers/custom_wizard/wizard_field_serializer.rb diff --git a/serializers/custom_wizard/wizard_serializer.rb b/app/serializers/custom_wizard/wizard_serializer.rb similarity index 100% rename from serializers/custom_wizard/wizard_serializer.rb rename to app/serializers/custom_wizard/wizard_serializer.rb diff --git a/serializers/custom_wizard/wizard_step_serializer.rb b/app/serializers/custom_wizard/wizard_step_serializer.rb similarity index 100% rename from serializers/custom_wizard/wizard_step_serializer.rb rename to app/serializers/custom_wizard/wizard_step_serializer.rb diff --git a/views/layouts/wizard.html.erb b/app/views/layouts/wizard.html.erb similarity index 100% rename from views/layouts/wizard.html.erb rename to app/views/layouts/wizard.html.erb diff --git a/coverage/.last_run.json b/coverage/.last_run.json index 4c7365e8..13a74541 100644 --- a/coverage/.last_run.json +++ b/coverage/.last_run.json @@ -1,5 +1,5 @@ { "result": { - "line": 92.87 + "line": 84.4 } } diff --git a/extensions/custom_field/extension.rb b/lib/custom_wizard/extensions/custom_field/extension.rb similarity index 100% rename from extensions/custom_field/extension.rb rename to lib/custom_wizard/extensions/custom_field/extension.rb diff --git a/extensions/custom_field/preloader.rb b/lib/custom_wizard/extensions/custom_field/preloader.rb similarity index 100% rename from extensions/custom_field/preloader.rb rename to lib/custom_wizard/extensions/custom_field/preloader.rb diff --git a/extensions/custom_field/serializer.rb b/lib/custom_wizard/extensions/custom_field/serializer.rb similarity index 100% rename from extensions/custom_field/serializer.rb rename to lib/custom_wizard/extensions/custom_field/serializer.rb diff --git a/extensions/discourse_tagging.rb b/lib/custom_wizard/extensions/discourse_tagging.rb similarity index 100% rename from extensions/discourse_tagging.rb rename to lib/custom_wizard/extensions/discourse_tagging.rb diff --git a/extensions/extra_locales_controller.rb b/lib/custom_wizard/extensions/extra_locales_controller.rb similarity index 100% rename from extensions/extra_locales_controller.rb rename to lib/custom_wizard/extensions/extra_locales_controller.rb diff --git a/extensions/guardian.rb b/lib/custom_wizard/extensions/guardian.rb similarity index 100% rename from extensions/guardian.rb rename to lib/custom_wizard/extensions/guardian.rb diff --git a/extensions/invites_controller.rb b/lib/custom_wizard/extensions/invites_controller.rb similarity index 100% rename from extensions/invites_controller.rb rename to lib/custom_wizard/extensions/invites_controller.rb diff --git a/extensions/tags_controller.rb b/lib/custom_wizard/extensions/tags_controller.rb similarity index 100% rename from extensions/tags_controller.rb rename to lib/custom_wizard/extensions/tags_controller.rb diff --git a/extensions/users_controller.rb b/lib/custom_wizard/extensions/users_controller.rb similarity index 100% rename from extensions/users_controller.rb rename to lib/custom_wizard/extensions/users_controller.rb diff --git a/plugin.rb b/plugin.rb index b5eb348d..d819e9c4 100644 --- a/plugin.rb +++ b/plugin.rb @@ -57,18 +57,18 @@ after_initialize do %w[ ../lib/custom_wizard/engine.rb ../config/routes.rb - ../controllers/custom_wizard/admin/admin.rb - ../controllers/custom_wizard/admin/wizard.rb - ../controllers/custom_wizard/admin/submissions.rb - ../controllers/custom_wizard/admin/api.rb - ../controllers/custom_wizard/admin/logs.rb - ../controllers/custom_wizard/admin/manager.rb - ../controllers/custom_wizard/admin/custom_fields.rb - ../controllers/custom_wizard/wizard.rb - ../controllers/custom_wizard/steps.rb - ../controllers/custom_wizard/realtime_validations.rb - ../jobs/refresh_api_access_token.rb - ../jobs/set_after_time_wizard.rb + ../app/controllers/custom_wizard/admin/admin.rb + ../app/controllers/custom_wizard/admin/wizard.rb + ../app/controllers/custom_wizard/admin/submissions.rb + ../app/controllers/custom_wizard/admin/api.rb + ../app/controllers/custom_wizard/admin/logs.rb + ../app/controllers/custom_wizard/admin/manager.rb + ../app/controllers/custom_wizard/admin/custom_fields.rb + ../app/controllers/custom_wizard/wizard.rb + ../app/controllers/custom_wizard/steps.rb + ../app/controllers/custom_wizard/realtime_validations.rb + ../app/jobs/refresh_api_access_token.rb + ../app/jobs/set_after_time_wizard.rb ../lib/custom_wizard/validators/template.rb ../lib/custom_wizard/validators/update.rb ../lib/custom_wizard/action_result.rb @@ -93,29 +93,29 @@ after_initialize do ../lib/custom_wizard/api/log_entry.rb ../lib/custom_wizard/liquid_extensions/first_non_empty.rb ../lib/custom_wizard/exceptions/exceptions.rb - ../serializers/custom_wizard/api/authorization_serializer.rb - ../serializers/custom_wizard/api/basic_endpoint_serializer.rb - ../serializers/custom_wizard/api/endpoint_serializer.rb - ../serializers/custom_wizard/api/log_serializer.rb - ../serializers/custom_wizard/api_serializer.rb - ../serializers/custom_wizard/basic_api_serializer.rb - ../serializers/custom_wizard/basic_wizard_serializer.rb - ../serializers/custom_wizard/custom_field_serializer.rb - ../serializers/custom_wizard/wizard_field_serializer.rb - ../serializers/custom_wizard/wizard_step_serializer.rb - ../serializers/custom_wizard/wizard_serializer.rb - ../serializers/custom_wizard/log_serializer.rb - ../serializers/custom_wizard/submission_serializer.rb - ../serializers/custom_wizard/realtime_validation/similar_topics_serializer.rb - ../extensions/extra_locales_controller.rb - ../extensions/invites_controller.rb - ../extensions/guardian.rb - ../extensions/users_controller.rb - ../extensions/tags_controller.rb - ../extensions/custom_field/preloader.rb - ../extensions/custom_field/serializer.rb - ../extensions/custom_field/extension.rb - ../extensions/discourse_tagging.rb + ../app/serializers/custom_wizard/api/authorization_serializer.rb + ../app/serializers/custom_wizard/api/basic_endpoint_serializer.rb + ../app/serializers/custom_wizard/api/endpoint_serializer.rb + ../app/serializers/custom_wizard/api/log_serializer.rb + ../app/serializers/custom_wizard/api_serializer.rb + ../app/serializers/custom_wizard/basic_api_serializer.rb + ../app/serializers/custom_wizard/basic_wizard_serializer.rb + ../app/serializers/custom_wizard/custom_field_serializer.rb + ../app/serializers/custom_wizard/wizard_field_serializer.rb + ../app/serializers/custom_wizard/wizard_step_serializer.rb + ../app/serializers/custom_wizard/wizard_serializer.rb + ../app/serializers/custom_wizard/log_serializer.rb + ../app/serializers/custom_wizard/submission_serializer.rb + ../app/serializers/custom_wizard/realtime_validation/similar_topics_serializer.rb + ../lib/custom_wizard/extensions/extra_locales_controller.rb + ../lib/custom_wizard/extensions/invites_controller.rb + ../lib/custom_wizard/extensions/guardian.rb + ../lib/custom_wizard/extensions/users_controller.rb + ../lib/custom_wizard/extensions/tags_controller.rb + ../lib/custom_wizard/extensions/custom_field/preloader.rb + ../lib/custom_wizard/extensions/custom_field/serializer.rb + ../lib/custom_wizard/extensions/custom_field/extension.rb + ../lib/custom_wizard/extensions/discourse_tagging.rb ].each do |path| load File.expand_path(path, __FILE__) end diff --git a/spec/components/custom_wizard/action_spec.rb b/spec/components/custom_wizard/action_spec.rb index 8b617c39..248c44a5 100644 --- a/spec/components/custom_wizard/action_spec.rb +++ b/spec/components/custom_wizard/action_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' describe CustomWizard::Action do fab!(:user) { Fabricate(:user, name: "Angus", username: 'angus', email: "angus@email.com", trust_level: TrustLevel[2]) } diff --git a/spec/components/custom_wizard/builder_spec.rb b/spec/components/custom_wizard/builder_spec.rb index 099d8681..e140931c 100644 --- a/spec/components/custom_wizard/builder_spec.rb +++ b/spec/components/custom_wizard/builder_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' describe CustomWizard::Builder do fab!(:trusted_user) { diff --git a/spec/components/custom_wizard/cache_spec.rb b/spec/components/custom_wizard/cache_spec.rb index 2cc3b81a..2d7dd832 100644 --- a/spec/components/custom_wizard/cache_spec.rb +++ b/spec/components/custom_wizard/cache_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../../plugin_helper.rb' - describe CustomWizard::Cache do it "writes and reads values to the cache" do CustomWizard::Cache.new('list').write([1, 2, 3]) diff --git a/spec/components/custom_wizard/custom_field_spec.rb b/spec/components/custom_wizard/custom_field_spec.rb index b17e26c6..155a6526 100644 --- a/spec/components/custom_wizard/custom_field_spec.rb +++ b/spec/components/custom_wizard/custom_field_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' - describe CustomWizard::CustomField do let(:custom_field_json) { diff --git a/spec/components/custom_wizard/field_spec.rb b/spec/components/custom_wizard/field_spec.rb index 871c42cd..2386a004 100644 --- a/spec/components/custom_wizard/field_spec.rb +++ b/spec/components/custom_wizard/field_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' describe CustomWizard::Field do let(:field_hash) do diff --git a/spec/components/custom_wizard/log_spec.rb b/spec/components/custom_wizard/log_spec.rb index 30fd0173..d5c0de5d 100644 --- a/spec/components/custom_wizard/log_spec.rb +++ b/spec/components/custom_wizard/log_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' describe CustomWizard::Log do before do diff --git a/spec/components/custom_wizard/mapper_spec.rb b/spec/components/custom_wizard/mapper_spec.rb index ed66d7c1..422ffbf5 100644 --- a/spec/components/custom_wizard/mapper_spec.rb +++ b/spec/components/custom_wizard/mapper_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' describe CustomWizard::Mapper do fab!(:user1) { diff --git a/spec/components/custom_wizard/realtime_validation_spec.rb b/spec/components/custom_wizard/realtime_validation_spec.rb index 819ac2ae..22e36dd1 100644 --- a/spec/components/custom_wizard/realtime_validation_spec.rb +++ b/spec/components/custom_wizard/realtime_validation_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' - describe CustomWizard::RealtimeValidation do validation_names = CustomWizard::RealtimeValidation.types.keys diff --git a/spec/components/custom_wizard/realtime_validations/similar_topics_spec.rb b/spec/components/custom_wizard/realtime_validations/similar_topics_spec.rb index eb81509e..6ea07684 100644 --- a/spec/components/custom_wizard/realtime_validations/similar_topics_spec.rb +++ b/spec/components/custom_wizard/realtime_validations/similar_topics_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../../../plugin_helper' - describe ::CustomWizard::RealtimeValidation::SimilarTopics do let(:post) { create_post(title: "matching similar topic") } let(:topic) { post.topic } diff --git a/spec/components/custom_wizard/step_spec.rb b/spec/components/custom_wizard/step_spec.rb index bf4613a4..ac0abbb7 100644 --- a/spec/components/custom_wizard/step_spec.rb +++ b/spec/components/custom_wizard/step_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' describe CustomWizard::Step do let(:step_hash) do diff --git a/spec/components/custom_wizard/submission_spec.rb b/spec/components/custom_wizard/submission_spec.rb index b85af243..5a86eca6 100644 --- a/spec/components/custom_wizard/submission_spec.rb +++ b/spec/components/custom_wizard/submission_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' describe CustomWizard::Submission do fab!(:user) { Fabricate(:user) } diff --git a/spec/components/custom_wizard/template_spec.rb b/spec/components/custom_wizard/template_spec.rb index 0e3dbdbe..06a7bcb7 100644 --- a/spec/components/custom_wizard/template_spec.rb +++ b/spec/components/custom_wizard/template_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' describe CustomWizard::Template do fab!(:user) { Fabricate(:user) } diff --git a/spec/components/custom_wizard/template_validator_spec.rb b/spec/components/custom_wizard/template_validator_spec.rb index 0ff0d1e7..8e730140 100644 --- a/spec/components/custom_wizard/template_validator_spec.rb +++ b/spec/components/custom_wizard/template_validator_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' describe CustomWizard::TemplateValidator do fab!(:user) { Fabricate(:user) } diff --git a/spec/components/custom_wizard/update_validator_spec.rb b/spec/components/custom_wizard/update_validator_spec.rb index e976e1ff..b8aea789 100644 --- a/spec/components/custom_wizard/update_validator_spec.rb +++ b/spec/components/custom_wizard/update_validator_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' describe CustomWizard::UpdateValidator do fab!(:user) { Fabricate(:user) } diff --git a/spec/components/custom_wizard/wizard_spec.rb b/spec/components/custom_wizard/wizard_spec.rb index 67905f5a..a3f86f3e 100644 --- a/spec/components/custom_wizard/wizard_spec.rb +++ b/spec/components/custom_wizard/wizard_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' - describe CustomWizard::Wizard do fab!(:user) { Fabricate(:user) } fab!(:trusted_user) { Fabricate(:user, trust_level: TrustLevel[3]) } diff --git a/spec/extensions/custom_field_extensions_spec.rb b/spec/extensions/custom_field_extensions_spec.rb index f0ce32f5..1b7ec6bf 100644 --- a/spec/extensions/custom_field_extensions_spec.rb +++ b/spec/extensions/custom_field_extensions_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../plugin_helper' - describe "custom field extensions" do fab!(:topic) { Fabricate(:topic) } fab!(:post) { Fabricate(:post) } diff --git a/spec/extensions/extra_locales_controller_spec.rb b/spec/extensions/extra_locales_controller_spec.rb index a71e39c4..32d3940c 100644 --- a/spec/extensions/extra_locales_controller_spec.rb +++ b/spec/extensions/extra_locales_controller_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../plugin_helper' describe ExtraLocalesControllerCustomWizard, type: :request do let(:new_user) { Fabricate(:user, trust_level: TrustLevel[0]) } diff --git a/spec/extensions/guardian_extension_spec.rb b/spec/extensions/guardian_extension_spec.rb index d779fe11..ddfeb9ef 100644 --- a/spec/extensions/guardian_extension_spec.rb +++ b/spec/extensions/guardian_extension_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../plugin_helper' - describe ::Guardian do fab!(:user) { Fabricate(:user, name: "Angus", username: 'angus', email: "angus@email.com") diff --git a/spec/extensions/invites_controller_spec.rb b/spec/extensions/invites_controller_spec.rb index 47c4ca84..42e0ece7 100644 --- a/spec/extensions/invites_controller_spec.rb +++ b/spec/extensions/invites_controller_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../plugin_helper' describe InvitesControllerCustomWizard, type: :request do fab!(:topic) { Fabricate(:topic) } diff --git a/spec/extensions/sprockets_directive_spec.rb b/spec/extensions/sprockets_directive_spec.rb index 5a074040..db54c5dc 100644 --- a/spec/extensions/sprockets_directive_spec.rb +++ b/spec/extensions/sprockets_directive_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../plugin_helper' - describe "Sprockets: require_tree_discourse directive" do let(:discourse_asset_path) { "#{Rails.root}/app/assets/javascripts/" diff --git a/spec/extensions/tags_controller_spec.rb b/spec/extensions/tags_controller_spec.rb index 6df00d9a..b3c1ccc8 100644 --- a/spec/extensions/tags_controller_spec.rb +++ b/spec/extensions/tags_controller_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../plugin_helper' - describe ::TagsController, type: :request do fab!(:tag_1) { Fabricate(:tag, name: "Angus") } fab!(:tag_2) { Fabricate(:tag, name: "Faizaan") } diff --git a/spec/extensions/users_controller_spec.rb b/spec/extensions/users_controller_spec.rb index f4ba8e51..0c220a62 100644 --- a/spec/extensions/users_controller_spec.rb +++ b/spec/extensions/users_controller_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../plugin_helper' describe CustomWizardUsersController, type: :request do let(:template) do diff --git a/spec/jobs/set_after_time_wizard_spec.rb b/spec/jobs/set_after_time_wizard_spec.rb index 35576f01..40418d13 100644 --- a/spec/jobs/set_after_time_wizard_spec.rb +++ b/spec/jobs/set_after_time_wizard_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../plugin_helper' - describe Jobs::SetAfterTimeWizard do fab!(:user1) { Fabricate(:user) } fab!(:user2) { Fabricate(:user) } diff --git a/spec/plugin_helper.rb b/spec/plugin_helper.rb deleted file mode 100644 index 9e4bbbbe..00000000 --- a/spec/plugin_helper.rb +++ /dev/null @@ -1,17 +0,0 @@ -# frozen_string_literal: true - -if ENV['SIMPLECOV'] - require 'simplecov' - - SimpleCov.start do - root "plugins/discourse-custom-wizard" - track_files "plugins/discourse-custom-wizard/**/*.rb" - add_filter { |src| src.filename =~ /(\/spec\/|\/db\/|plugin\.rb|api|gems)/ } - SimpleCov.minimum_coverage 80 - end -end - -require 'oj' -Oj.default_options = Oj.default_options.merge(cache_str: -1) - -require 'rails_helper' diff --git a/spec/requests/custom_wizard/admin/custom_fields_controller_spec.rb b/spec/requests/custom_wizard/admin/custom_fields_controller_spec.rb index 8c1a8550..6f1aea12 100644 --- a/spec/requests/custom_wizard/admin/custom_fields_controller_spec.rb +++ b/spec/requests/custom_wizard/admin/custom_fields_controller_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../../plugin_helper' describe CustomWizard::AdminCustomFieldsController do fab!(:admin_user) { Fabricate(:user, admin: true) } diff --git a/spec/requests/custom_wizard/admin/logs_controller_spec.rb b/spec/requests/custom_wizard/admin/logs_controller_spec.rb index 28b7d785..a2f619e4 100644 --- a/spec/requests/custom_wizard/admin/logs_controller_spec.rb +++ b/spec/requests/custom_wizard/admin/logs_controller_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../../plugin_helper' describe CustomWizard::AdminLogsController do fab!(:admin_user) { Fabricate(:user, admin: true) } diff --git a/spec/requests/custom_wizard/admin/manager_controller_spec.rb b/spec/requests/custom_wizard/admin/manager_controller_spec.rb index 7d087e3e..5c7b3ec3 100644 --- a/spec/requests/custom_wizard/admin/manager_controller_spec.rb +++ b/spec/requests/custom_wizard/admin/manager_controller_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../../plugin_helper' describe CustomWizard::AdminManagerController do fab!(:admin_user) { Fabricate(:user, admin: true) } diff --git a/spec/requests/custom_wizard/admin/submissions_controller_spec.rb b/spec/requests/custom_wizard/admin/submissions_controller_spec.rb index 36296e95..c35b5365 100644 --- a/spec/requests/custom_wizard/admin/submissions_controller_spec.rb +++ b/spec/requests/custom_wizard/admin/submissions_controller_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../../plugin_helper' describe CustomWizard::AdminSubmissionsController do fab!(:admin_user) { Fabricate(:user, admin: true) } diff --git a/spec/requests/custom_wizard/admin/wizard_controller_spec.rb b/spec/requests/custom_wizard/admin/wizard_controller_spec.rb index 82aa4fc5..de287374 100644 --- a/spec/requests/custom_wizard/admin/wizard_controller_spec.rb +++ b/spec/requests/custom_wizard/admin/wizard_controller_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../../plugin_helper' describe CustomWizard::AdminWizardController do fab!(:admin_user) { Fabricate(:user, admin: true) } diff --git a/spec/requests/custom_wizard/application_controller_spec.rb b/spec/requests/custom_wizard/application_controller_spec.rb index 0b5513aa..23679c39 100644 --- a/spec/requests/custom_wizard/application_controller_spec.rb +++ b/spec/requests/custom_wizard/application_controller_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' describe ApplicationController do fab!(:user) { diff --git a/spec/requests/custom_wizard/custom_field_extensions_spec.rb b/spec/requests/custom_wizard/custom_field_extensions_spec.rb index b991769a..5bb7ffd9 100644 --- a/spec/requests/custom_wizard/custom_field_extensions_spec.rb +++ b/spec/requests/custom_wizard/custom_field_extensions_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' - describe "custom field extensions" do let!(:topic) { Fabricate(:topic) } let!(:post) { Fabricate(:post) } diff --git a/spec/requests/custom_wizard/realtime_validations_spec.rb b/spec/requests/custom_wizard/realtime_validations_spec.rb index 0d59e885..a57333b8 100644 --- a/spec/requests/custom_wizard/realtime_validations_spec.rb +++ b/spec/requests/custom_wizard/realtime_validations_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' - describe CustomWizard::RealtimeValidationsController do fab!(:validation_type) { "test_stub" } diff --git a/spec/requests/custom_wizard/steps_controller_spec.rb b/spec/requests/custom_wizard/steps_controller_spec.rb index 5da75d8d..dc8d0130 100644 --- a/spec/requests/custom_wizard/steps_controller_spec.rb +++ b/spec/requests/custom_wizard/steps_controller_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' describe CustomWizard::StepsController do fab!(:user) { diff --git a/spec/requests/custom_wizard/wizard_controller_spec.rb b/spec/requests/custom_wizard/wizard_controller_spec.rb index f5bcd5ac..44e48ed7 100644 --- a/spec/requests/custom_wizard/wizard_controller_spec.rb +++ b/spec/requests/custom_wizard/wizard_controller_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' describe CustomWizard::WizardController do fab!(:user) { diff --git a/spec/serializers/custom_wizard/basic_wizard_serializer_spec.rb b/spec/serializers/custom_wizard/basic_wizard_serializer_spec.rb index bf575827..59647477 100644 --- a/spec/serializers/custom_wizard/basic_wizard_serializer_spec.rb +++ b/spec/serializers/custom_wizard/basic_wizard_serializer_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' - describe CustomWizard::BasicWizardSerializer do fab!(:user) { Fabricate(:user) } diff --git a/spec/serializers/custom_wizard/custom_field_serializer_spec.rb b/spec/serializers/custom_wizard/custom_field_serializer_spec.rb index 4f5ffd72..0f6f5564 100644 --- a/spec/serializers/custom_wizard/custom_field_serializer_spec.rb +++ b/spec/serializers/custom_wizard/custom_field_serializer_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' - describe CustomWizard::CustomFieldSerializer do fab!(:user) { Fabricate(:user) } diff --git a/spec/serializers/custom_wizard/log_serializer_spec.rb b/spec/serializers/custom_wizard/log_serializer_spec.rb index bde16199..895cab54 100644 --- a/spec/serializers/custom_wizard/log_serializer_spec.rb +++ b/spec/serializers/custom_wizard/log_serializer_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' - describe CustomWizard::LogSerializer do fab!(:user) { Fabricate(:user) } diff --git a/spec/serializers/custom_wizard/wizard_field_serializer_spec.rb b/spec/serializers/custom_wizard/wizard_field_serializer_spec.rb index a5a5e721..5f225f44 100644 --- a/spec/serializers/custom_wizard/wizard_field_serializer_spec.rb +++ b/spec/serializers/custom_wizard/wizard_field_serializer_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' - describe CustomWizard::FieldSerializer do fab!(:user) { Fabricate(:user) } diff --git a/spec/serializers/custom_wizard/wizard_serializer_spec.rb b/spec/serializers/custom_wizard/wizard_serializer_spec.rb index 2052639a..1b26ce24 100644 --- a/spec/serializers/custom_wizard/wizard_serializer_spec.rb +++ b/spec/serializers/custom_wizard/wizard_serializer_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' - describe CustomWizard::WizardSerializer do fab!(:user) { Fabricate(:user) } fab!(:category) { Fabricate(:category) } diff --git a/spec/serializers/custom_wizard/wizard_step_serializer_spec.rb b/spec/serializers/custom_wizard/wizard_step_serializer_spec.rb index 21345352..0df76baf 100644 --- a/spec/serializers/custom_wizard/wizard_step_serializer_spec.rb +++ b/spec/serializers/custom_wizard/wizard_step_serializer_spec.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require_relative '../../plugin_helper' - describe CustomWizard::StepSerializer do fab!(:user) { Fabricate(:user) } From 8cac2a596003ee99f11e32e8a7a7fe3095aaa9e3 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Sat, 12 Mar 2022 14:01:39 +0100 Subject: [PATCH 29/33] Update plugin.rb --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index d819e9c4..a1b377ac 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # name: discourse-custom-wizard # about: Create custom wizards -# version: 1.18.3 +# version: 1.18.4 # authors: Angus McLeod # url: https://github.com/paviliondev/discourse-custom-wizard # contact emails: angus@thepavilion.io From 7a56b9d3902a7f2bbebb08652a28c523accc5a9c Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Sat, 12 Mar 2022 14:02:11 +0100 Subject: [PATCH 30/33] Rubocop --- .simplecov | 1 + 1 file changed, 1 insertion(+) diff --git a/.simplecov b/.simplecov index 18b59116..c7b6143b 100644 --- a/.simplecov +++ b/.simplecov @@ -1,3 +1,4 @@ +# frozen_string_literal: true plugin = "discourse-custom-wizard" SimpleCov.configure do From 684a2a3801fcbe7b213fa1de1a9810ddf2720a51 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Sat, 12 Mar 2022 14:26:27 +0100 Subject: [PATCH 31/33] Update plugin-tests.yml --- .github/workflows/plugin-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/plugin-tests.yml b/.github/workflows/plugin-tests.yml index 18f09d5d..782ebc4f 100644 --- a/.github/workflows/plugin-tests.yml +++ b/.github/workflows/plugin-tests.yml @@ -143,6 +143,7 @@ jobs: if: matrix.build_type == 'backend' && steps.check_spec.outputs.files_exists == 'true' run: | if [ -e plugins/${{ steps.repo-name.outputs.value }}/.simplecov ] + then cp plugins/${{ steps.repo-name.outputs.value }}/.simplecov .simplecov export COVERAGE=1 fi From cb7bb4e12f95c6a3894ef8bb61ac532d118d0629 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Sat, 12 Mar 2022 14:49:41 +0100 Subject: [PATCH 32/33] Move to proper folder structure --- .../controllers}/custom_wizard/admin/admin.rb | 0 .../controllers}/custom_wizard/admin/api.rb | 0 .../custom_wizard/admin/custom_fields.rb | 0 .../controllers}/custom_wizard/admin/logs.rb | 0 .../custom_wizard/admin/manager.rb | 0 .../custom_wizard/admin/notice.rb | 0 .../custom_wizard/admin/submissions.rb | 0 .../custom_wizard/admin/subscription.rb | 0 .../custom_wizard/admin/wizard.rb | 0 .../custom_wizard/realtime_validations.rb | 0 .../controllers}/custom_wizard/steps.rb | 0 .../controllers}/custom_wizard/wizard.rb | 0 .../jobs}/regular/refresh_api_access_token.rb | 0 .../jobs}/regular/set_after_time_wizard.rb | 0 .../scheduled/custom_wizard/update_notices.rb | 0 .../custom_wizard/update_subscription.rb | 0 .../api/authorization_serializer.rb | 0 .../api/basic_endpoint_serializer.rb | 0 .../custom_wizard/api/endpoint_serializer.rb | 0 .../custom_wizard/api/log_serializer.rb | 0 .../custom_wizard/api_serializer.rb | 0 .../custom_wizard/basic_api_serializer.rb | 0 .../custom_wizard/basic_wizard_serializer.rb | 0 .../custom_wizard/custom_field_serializer.rb | 0 .../custom_wizard/log_serializer.rb | 0 .../custom_wizard/notice_serializer.rb | 0 .../similar_topics_serializer.rb | 0 .../custom_wizard/submission_serializer.rb | 0 .../subscription/authentication_serializer.rb | 0 .../subscription/subscription_serializer.rb | 0 .../custom_wizard/subscription_serializer.rb | 0 .../custom_wizard/wizard_field_serializer.rb | 0 .../custom_wizard/wizard_serializer.rb | 0 .../custom_wizard/wizard_step_serializer.rb | 0 {views => app/views}/layouts/wizard.html.erb | 0 .../extensions}/custom_field/extension.rb | 0 .../extensions}/custom_field/preloader.rb | 0 .../extensions}/custom_field/serializer.rb | 0 .../extensions}/extra_locales_controller.rb | 0 .../extensions}/invites_controller.rb | 0 .../extensions}/users_controller.rb | 0 plugin.rb | 80 +++++++++---------- 42 files changed, 40 insertions(+), 40 deletions(-) rename {controllers => app/controllers}/custom_wizard/admin/admin.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/api.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/custom_fields.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/logs.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/manager.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/notice.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/submissions.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/subscription.rb (100%) rename {controllers => app/controllers}/custom_wizard/admin/wizard.rb (100%) rename {controllers => app/controllers}/custom_wizard/realtime_validations.rb (100%) rename {controllers => app/controllers}/custom_wizard/steps.rb (100%) rename {controllers => app/controllers}/custom_wizard/wizard.rb (100%) rename {jobs => app/jobs}/regular/refresh_api_access_token.rb (100%) rename {jobs => app/jobs}/regular/set_after_time_wizard.rb (100%) rename {jobs => app/jobs}/scheduled/custom_wizard/update_notices.rb (100%) rename {jobs => app/jobs}/scheduled/custom_wizard/update_subscription.rb (100%) rename {serializers => app/serializers}/custom_wizard/api/authorization_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/api/basic_endpoint_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/api/endpoint_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/api/log_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/api_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/basic_api_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/basic_wizard_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/custom_field_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/log_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/notice_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/realtime_validation/similar_topics_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/submission_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/subscription/authentication_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/subscription/subscription_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/subscription_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/wizard_field_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/wizard_serializer.rb (100%) rename {serializers => app/serializers}/custom_wizard/wizard_step_serializer.rb (100%) rename {views => app/views}/layouts/wizard.html.erb (100%) rename {extensions => lib/custom_wizard/extensions}/custom_field/extension.rb (100%) rename {extensions => lib/custom_wizard/extensions}/custom_field/preloader.rb (100%) rename {extensions => lib/custom_wizard/extensions}/custom_field/serializer.rb (100%) rename {extensions => lib/custom_wizard/extensions}/extra_locales_controller.rb (100%) rename {extensions => lib/custom_wizard/extensions}/invites_controller.rb (100%) rename {extensions => lib/custom_wizard/extensions}/users_controller.rb (100%) diff --git a/controllers/custom_wizard/admin/admin.rb b/app/controllers/custom_wizard/admin/admin.rb similarity index 100% rename from controllers/custom_wizard/admin/admin.rb rename to app/controllers/custom_wizard/admin/admin.rb diff --git a/controllers/custom_wizard/admin/api.rb b/app/controllers/custom_wizard/admin/api.rb similarity index 100% rename from controllers/custom_wizard/admin/api.rb rename to app/controllers/custom_wizard/admin/api.rb diff --git a/controllers/custom_wizard/admin/custom_fields.rb b/app/controllers/custom_wizard/admin/custom_fields.rb similarity index 100% rename from controllers/custom_wizard/admin/custom_fields.rb rename to app/controllers/custom_wizard/admin/custom_fields.rb diff --git a/controllers/custom_wizard/admin/logs.rb b/app/controllers/custom_wizard/admin/logs.rb similarity index 100% rename from controllers/custom_wizard/admin/logs.rb rename to app/controllers/custom_wizard/admin/logs.rb diff --git a/controllers/custom_wizard/admin/manager.rb b/app/controllers/custom_wizard/admin/manager.rb similarity index 100% rename from controllers/custom_wizard/admin/manager.rb rename to app/controllers/custom_wizard/admin/manager.rb diff --git a/controllers/custom_wizard/admin/notice.rb b/app/controllers/custom_wizard/admin/notice.rb similarity index 100% rename from controllers/custom_wizard/admin/notice.rb rename to app/controllers/custom_wizard/admin/notice.rb diff --git a/controllers/custom_wizard/admin/submissions.rb b/app/controllers/custom_wizard/admin/submissions.rb similarity index 100% rename from controllers/custom_wizard/admin/submissions.rb rename to app/controllers/custom_wizard/admin/submissions.rb diff --git a/controllers/custom_wizard/admin/subscription.rb b/app/controllers/custom_wizard/admin/subscription.rb similarity index 100% rename from controllers/custom_wizard/admin/subscription.rb rename to app/controllers/custom_wizard/admin/subscription.rb diff --git a/controllers/custom_wizard/admin/wizard.rb b/app/controllers/custom_wizard/admin/wizard.rb similarity index 100% rename from controllers/custom_wizard/admin/wizard.rb rename to app/controllers/custom_wizard/admin/wizard.rb diff --git a/controllers/custom_wizard/realtime_validations.rb b/app/controllers/custom_wizard/realtime_validations.rb similarity index 100% rename from controllers/custom_wizard/realtime_validations.rb rename to app/controllers/custom_wizard/realtime_validations.rb diff --git a/controllers/custom_wizard/steps.rb b/app/controllers/custom_wizard/steps.rb similarity index 100% rename from controllers/custom_wizard/steps.rb rename to app/controllers/custom_wizard/steps.rb diff --git a/controllers/custom_wizard/wizard.rb b/app/controllers/custom_wizard/wizard.rb similarity index 100% rename from controllers/custom_wizard/wizard.rb rename to app/controllers/custom_wizard/wizard.rb diff --git a/jobs/regular/refresh_api_access_token.rb b/app/jobs/regular/refresh_api_access_token.rb similarity index 100% rename from jobs/regular/refresh_api_access_token.rb rename to app/jobs/regular/refresh_api_access_token.rb diff --git a/jobs/regular/set_after_time_wizard.rb b/app/jobs/regular/set_after_time_wizard.rb similarity index 100% rename from jobs/regular/set_after_time_wizard.rb rename to app/jobs/regular/set_after_time_wizard.rb diff --git a/jobs/scheduled/custom_wizard/update_notices.rb b/app/jobs/scheduled/custom_wizard/update_notices.rb similarity index 100% rename from jobs/scheduled/custom_wizard/update_notices.rb rename to app/jobs/scheduled/custom_wizard/update_notices.rb diff --git a/jobs/scheduled/custom_wizard/update_subscription.rb b/app/jobs/scheduled/custom_wizard/update_subscription.rb similarity index 100% rename from jobs/scheduled/custom_wizard/update_subscription.rb rename to app/jobs/scheduled/custom_wizard/update_subscription.rb diff --git a/serializers/custom_wizard/api/authorization_serializer.rb b/app/serializers/custom_wizard/api/authorization_serializer.rb similarity index 100% rename from serializers/custom_wizard/api/authorization_serializer.rb rename to app/serializers/custom_wizard/api/authorization_serializer.rb diff --git a/serializers/custom_wizard/api/basic_endpoint_serializer.rb b/app/serializers/custom_wizard/api/basic_endpoint_serializer.rb similarity index 100% rename from serializers/custom_wizard/api/basic_endpoint_serializer.rb rename to app/serializers/custom_wizard/api/basic_endpoint_serializer.rb diff --git a/serializers/custom_wizard/api/endpoint_serializer.rb b/app/serializers/custom_wizard/api/endpoint_serializer.rb similarity index 100% rename from serializers/custom_wizard/api/endpoint_serializer.rb rename to app/serializers/custom_wizard/api/endpoint_serializer.rb diff --git a/serializers/custom_wizard/api/log_serializer.rb b/app/serializers/custom_wizard/api/log_serializer.rb similarity index 100% rename from serializers/custom_wizard/api/log_serializer.rb rename to app/serializers/custom_wizard/api/log_serializer.rb diff --git a/serializers/custom_wizard/api_serializer.rb b/app/serializers/custom_wizard/api_serializer.rb similarity index 100% rename from serializers/custom_wizard/api_serializer.rb rename to app/serializers/custom_wizard/api_serializer.rb diff --git a/serializers/custom_wizard/basic_api_serializer.rb b/app/serializers/custom_wizard/basic_api_serializer.rb similarity index 100% rename from serializers/custom_wizard/basic_api_serializer.rb rename to app/serializers/custom_wizard/basic_api_serializer.rb diff --git a/serializers/custom_wizard/basic_wizard_serializer.rb b/app/serializers/custom_wizard/basic_wizard_serializer.rb similarity index 100% rename from serializers/custom_wizard/basic_wizard_serializer.rb rename to app/serializers/custom_wizard/basic_wizard_serializer.rb diff --git a/serializers/custom_wizard/custom_field_serializer.rb b/app/serializers/custom_wizard/custom_field_serializer.rb similarity index 100% rename from serializers/custom_wizard/custom_field_serializer.rb rename to app/serializers/custom_wizard/custom_field_serializer.rb diff --git a/serializers/custom_wizard/log_serializer.rb b/app/serializers/custom_wizard/log_serializer.rb similarity index 100% rename from serializers/custom_wizard/log_serializer.rb rename to app/serializers/custom_wizard/log_serializer.rb diff --git a/serializers/custom_wizard/notice_serializer.rb b/app/serializers/custom_wizard/notice_serializer.rb similarity index 100% rename from serializers/custom_wizard/notice_serializer.rb rename to app/serializers/custom_wizard/notice_serializer.rb diff --git a/serializers/custom_wizard/realtime_validation/similar_topics_serializer.rb b/app/serializers/custom_wizard/realtime_validation/similar_topics_serializer.rb similarity index 100% rename from serializers/custom_wizard/realtime_validation/similar_topics_serializer.rb rename to app/serializers/custom_wizard/realtime_validation/similar_topics_serializer.rb diff --git a/serializers/custom_wizard/submission_serializer.rb b/app/serializers/custom_wizard/submission_serializer.rb similarity index 100% rename from serializers/custom_wizard/submission_serializer.rb rename to app/serializers/custom_wizard/submission_serializer.rb diff --git a/serializers/custom_wizard/subscription/authentication_serializer.rb b/app/serializers/custom_wizard/subscription/authentication_serializer.rb similarity index 100% rename from serializers/custom_wizard/subscription/authentication_serializer.rb rename to app/serializers/custom_wizard/subscription/authentication_serializer.rb diff --git a/serializers/custom_wizard/subscription/subscription_serializer.rb b/app/serializers/custom_wizard/subscription/subscription_serializer.rb similarity index 100% rename from serializers/custom_wizard/subscription/subscription_serializer.rb rename to app/serializers/custom_wizard/subscription/subscription_serializer.rb diff --git a/serializers/custom_wizard/subscription_serializer.rb b/app/serializers/custom_wizard/subscription_serializer.rb similarity index 100% rename from serializers/custom_wizard/subscription_serializer.rb rename to app/serializers/custom_wizard/subscription_serializer.rb diff --git a/serializers/custom_wizard/wizard_field_serializer.rb b/app/serializers/custom_wizard/wizard_field_serializer.rb similarity index 100% rename from serializers/custom_wizard/wizard_field_serializer.rb rename to app/serializers/custom_wizard/wizard_field_serializer.rb diff --git a/serializers/custom_wizard/wizard_serializer.rb b/app/serializers/custom_wizard/wizard_serializer.rb similarity index 100% rename from serializers/custom_wizard/wizard_serializer.rb rename to app/serializers/custom_wizard/wizard_serializer.rb diff --git a/serializers/custom_wizard/wizard_step_serializer.rb b/app/serializers/custom_wizard/wizard_step_serializer.rb similarity index 100% rename from serializers/custom_wizard/wizard_step_serializer.rb rename to app/serializers/custom_wizard/wizard_step_serializer.rb diff --git a/views/layouts/wizard.html.erb b/app/views/layouts/wizard.html.erb similarity index 100% rename from views/layouts/wizard.html.erb rename to app/views/layouts/wizard.html.erb diff --git a/extensions/custom_field/extension.rb b/lib/custom_wizard/extensions/custom_field/extension.rb similarity index 100% rename from extensions/custom_field/extension.rb rename to lib/custom_wizard/extensions/custom_field/extension.rb diff --git a/extensions/custom_field/preloader.rb b/lib/custom_wizard/extensions/custom_field/preloader.rb similarity index 100% rename from extensions/custom_field/preloader.rb rename to lib/custom_wizard/extensions/custom_field/preloader.rb diff --git a/extensions/custom_field/serializer.rb b/lib/custom_wizard/extensions/custom_field/serializer.rb similarity index 100% rename from extensions/custom_field/serializer.rb rename to lib/custom_wizard/extensions/custom_field/serializer.rb diff --git a/extensions/extra_locales_controller.rb b/lib/custom_wizard/extensions/extra_locales_controller.rb similarity index 100% rename from extensions/extra_locales_controller.rb rename to lib/custom_wizard/extensions/extra_locales_controller.rb diff --git a/extensions/invites_controller.rb b/lib/custom_wizard/extensions/invites_controller.rb similarity index 100% rename from extensions/invites_controller.rb rename to lib/custom_wizard/extensions/invites_controller.rb diff --git a/extensions/users_controller.rb b/lib/custom_wizard/extensions/users_controller.rb similarity index 100% rename from extensions/users_controller.rb rename to lib/custom_wizard/extensions/users_controller.rb diff --git a/plugin.rb b/plugin.rb index 8c6be4db..e41fcee8 100644 --- a/plugin.rb +++ b/plugin.rb @@ -63,22 +63,22 @@ after_initialize do %w[ ../lib/custom_wizard/engine.rb ../config/routes.rb - ../controllers/custom_wizard/admin/admin.rb - ../controllers/custom_wizard/admin/wizard.rb - ../controllers/custom_wizard/admin/submissions.rb - ../controllers/custom_wizard/admin/api.rb - ../controllers/custom_wizard/admin/logs.rb - ../controllers/custom_wizard/admin/manager.rb - ../controllers/custom_wizard/admin/custom_fields.rb - ../controllers/custom_wizard/admin/subscription.rb - ../controllers/custom_wizard/admin/notice.rb - ../controllers/custom_wizard/wizard.rb - ../controllers/custom_wizard/steps.rb - ../controllers/custom_wizard/realtime_validations.rb - ../jobs/regular/refresh_api_access_token.rb - ../jobs/regular/set_after_time_wizard.rb - ../jobs/scheduled/custom_wizard/update_subscription.rb - ../jobs/scheduled/custom_wizard/update_notices.rb + ../app/controllers/custom_wizard/admin/admin.rb + ../app/controllers/custom_wizard/admin/wizard.rb + ../app/controllers/custom_wizard/admin/submissions.rb + ../app/controllers/custom_wizard/admin/api.rb + ../app/controllers/custom_wizard/admin/logs.rb + ../app/controllers/custom_wizard/admin/manager.rb + ../app/controllers/custom_wizard/admin/custom_fields.rb + ../app/controllers/custom_wizard/admin/subscription.rb + ../app/controllers/custom_wizard/admin/notice.rb + ../app/controllers/custom_wizard/wizard.rb + ../app/controllers/custom_wizard/steps.rb + ../app/controllers/custom_wizard/realtime_validations.rb + ../app/jobs/regular/refresh_api_access_token.rb + ../app/jobs/regular/set_after_time_wizard.rb + ../app/jobs/scheduled/custom_wizard/update_subscription.rb + ../app/jobs/scheduled/custom_wizard/update_notices.rb ../lib/custom_wizard/validators/template.rb ../lib/custom_wizard/validators/update.rb ../lib/custom_wizard/action_result.rb @@ -108,30 +108,30 @@ after_initialize do ../lib/custom_wizard/api/log_entry.rb ../lib/custom_wizard/liquid_extensions/first_non_empty.rb ../lib/custom_wizard/exceptions/exceptions.rb - ../serializers/custom_wizard/api/authorization_serializer.rb - ../serializers/custom_wizard/api/basic_endpoint_serializer.rb - ../serializers/custom_wizard/api/endpoint_serializer.rb - ../serializers/custom_wizard/api/log_serializer.rb - ../serializers/custom_wizard/api_serializer.rb - ../serializers/custom_wizard/basic_api_serializer.rb - ../serializers/custom_wizard/basic_wizard_serializer.rb - ../serializers/custom_wizard/custom_field_serializer.rb - ../serializers/custom_wizard/wizard_field_serializer.rb - ../serializers/custom_wizard/wizard_step_serializer.rb - ../serializers/custom_wizard/wizard_serializer.rb - ../serializers/custom_wizard/log_serializer.rb - ../serializers/custom_wizard/submission_serializer.rb - ../serializers/custom_wizard/realtime_validation/similar_topics_serializer.rb - ../serializers/custom_wizard/subscription/authentication_serializer.rb - ../serializers/custom_wizard/subscription/subscription_serializer.rb - ../serializers/custom_wizard/subscription_serializer.rb - ../serializers/custom_wizard/notice_serializer.rb - ../extensions/extra_locales_controller.rb - ../extensions/invites_controller.rb - ../extensions/users_controller.rb - ../extensions/custom_field/preloader.rb - ../extensions/custom_field/serializer.rb - ../extensions/custom_field/extension.rb + ../app/serializers/custom_wizard/api/authorization_serializer.rb + ../app/serializers/custom_wizard/api/basic_endpoint_serializer.rb + ../app/serializers/custom_wizard/api/endpoint_serializer.rb + ../app/serializers/custom_wizard/api/log_serializer.rb + ../app/serializers/custom_wizard/api_serializer.rb + ../app/serializers/custom_wizard/basic_api_serializer.rb + ../app/serializers/custom_wizard/basic_wizard_serializer.rb + ../app/serializers/custom_wizard/custom_field_serializer.rb + ../app/serializers/custom_wizard/wizard_field_serializer.rb + ../app/serializers/custom_wizard/wizard_step_serializer.rb + ../app/serializers/custom_wizard/wizard_serializer.rb + ../app/serializers/custom_wizard/log_serializer.rb + ../app/serializers/custom_wizard/submission_serializer.rb + ../app/serializers/custom_wizard/realtime_validation/similar_topics_serializer.rb + ../app/serializers/custom_wizard/subscription/authentication_serializer.rb + ../app/serializers/custom_wizard/subscription/subscription_serializer.rb + ../app/serializers/custom_wizard/subscription_serializer.rb + ../app/serializers/custom_wizard/notice_serializer.rb + ..//lib/custom_wizard/extensions/extra_locales_controller.rb + ..//lib/custom_wizard/extensions/invites_controller.rb + ..//lib/custom_wizard/extensions/users_controller.rb + ..//lib/custom_wizard/extensions/custom_field/preloader.rb + ..//lib/custom_wizard/extensions/custom_field/serializer.rb + ..//lib/custom_wizard/extensions/custom_field/extension.rb ].each do |path| load File.expand_path(path, __FILE__) end From d57f260defa01052fa0e9f544add48efc3606982 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Sat, 12 Mar 2022 15:20:54 +0100 Subject: [PATCH 33/33] Cleanup after merge --- app/controllers/custom_wizard/admin/logs.rb | 41 +++++++++++++++++-- .../custom_wizard/log_serializer.rb | 8 +++- .../custom_wizard/submission_serializer.rb | 34 +++++++++++---- spec/plugin_helper.rb | 17 -------- 4 files changed, 70 insertions(+), 30 deletions(-) diff --git a/app/controllers/custom_wizard/admin/logs.rb b/app/controllers/custom_wizard/admin/logs.rb index 976814f8..7ca37bb2 100644 --- a/app/controllers/custom_wizard/admin/logs.rb +++ b/app/controllers/custom_wizard/admin/logs.rb @@ -1,9 +1,44 @@ # frozen_string_literal: true class CustomWizard::AdminLogsController < CustomWizard::AdminController + before_action :find_wizard, except: [:index] + def index - render_serialized( - CustomWizard::Log.list(params[:page].to_i, params[:limit].to_i), - CustomWizard::LogSerializer + render json: ActiveModel::ArraySerializer.new( + CustomWizard::Wizard.list(current_user), + each_serializer: CustomWizard::BasicWizardSerializer ) end + + def show + render_json_dump( + wizard: CustomWizard::BasicWizardSerializer.new(@wizard, root: false), + logs: ActiveModel::ArraySerializer.new( + log_list.logs, + each_serializer: CustomWizard::LogSerializer + ), + total: log_list.total + ) + end + + protected + + def log_list + @log_list ||= begin + list = CustomWizard::Log.list(params[:page].to_i, params[:limit].to_i, params[:wizard_id]) + + if list.logs.any? && (usernames = list.logs.map(&:username)).present? + user_map = User.where(username: usernames) + .reduce({}) do |result, user| + result[user.username] = user + result + end + + list.logs.each do |log_item| + log_item.user = user_map[log_item.username] + end + end + + list + end + end end diff --git a/app/serializers/custom_wizard/log_serializer.rb b/app/serializers/custom_wizard/log_serializer.rb index e521c573..56c5fd8f 100644 --- a/app/serializers/custom_wizard/log_serializer.rb +++ b/app/serializers/custom_wizard/log_serializer.rb @@ -1,4 +1,10 @@ # frozen_string_literal: true + class CustomWizard::LogSerializer < ApplicationSerializer - attributes :message, :date + attributes :date, + :action, + :username, + :message + + has_one :user, serializer: ::BasicUserSerializer, embed: :objects end diff --git a/app/serializers/custom_wizard/submission_serializer.rb b/app/serializers/custom_wizard/submission_serializer.rb index 52f0cb32..9c2f8133 100644 --- a/app/serializers/custom_wizard/submission_serializer.rb +++ b/app/serializers/custom_wizard/submission_serializer.rb @@ -1,16 +1,32 @@ # frozen_string_literal: true class CustomWizard::SubmissionSerializer < ApplicationSerializer attributes :id, - :username, :fields, - :submitted_at, - :route_to, - :redirect_on_complete, - :redirect_to + :submitted_at - def username - object.user.present? ? - object.user.username : - I18n.t('admin.wizard.submission.no_user', user_id: object.user_id) + has_one :user, serializer: ::BasicUserSerializer, embed: :objects + + def include_user? + object.user.present? + end + + def fields + @fields ||= begin + result = {} + + object.wizard.template['steps'].each do |step| + step['fields'].each do |field| + if value = object.fields[field['id']] + result[field['id']] = { + value: value, + type: field['type'], + label: field['label'] + } + end + end + end + + result + end end end diff --git a/spec/plugin_helper.rb b/spec/plugin_helper.rb index 232a2411..6e340ccf 100644 --- a/spec/plugin_helper.rb +++ b/spec/plugin_helper.rb @@ -1,22 +1,5 @@ # frozen_string_literal: true -if ENV['SIMPLECOV'] - require 'simplecov' - - SimpleCov.start do - root "plugins/discourse-custom-wizard" - track_files "plugins/discourse-custom-wizard/**/*.rb" - add_filter { |src| src.filename =~ /(\/spec\/|\/db\/|plugin\.rb|api|gems)/ } - SimpleCov.minimum_coverage 80 - end -end - -require 'oj' -Oj.default_options = Oj.default_options.merge(cache_str: -1) - -require 'rails_helper' -require 'webmock/rspec' - def get_wizard_fixture(path) JSON.parse( File.open(