From a41cddc4037c084bdb4b4a8b4759c5d158d11b0b Mon Sep 17 00:00:00 2001 From: Nicolas Salguero Date: Tue, 16 Jul 2024 10:07:55 +0200 Subject: [PATCH 001/147] [55263] Fix layout issues when diffing wiki pages https://community.openproject.org/projects/openproject/work_packages/55263/activity The nl2br() function is not needed and there are some incorrect generated HTML tags. --- app/controllers/wiki_controller.rb | 3 +++ app/helpers/wiki_helper.rb | 4 ---- app/views/wiki/diff.html.erb | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb index afbcb3eb10eb..8ec4252105cc 100644 --- a/app/controllers/wiki_controller.rb +++ b/app/controllers/wiki_controller.rb @@ -265,6 +265,9 @@ def diff helpers.format_text(@diff.content_from.data.text, disable_macro_expansion: true), helpers.format_text(@diff.content_to.data.text, disable_macro_expansion: true) ).build + .gsub(/\n\r?<\/ins>/, '') + .gsub(/\n\r?<\/del>/, '') + .gsub(/^
(
)/, '\1') else render_404 end diff --git a/app/helpers/wiki_helper.rb b/app/helpers/wiki_helper.rb index ee894ddfd828..145641dc58df 100644 --- a/app/helpers/wiki_helper.rb +++ b/app/helpers/wiki_helper.rb @@ -58,10 +58,6 @@ def breadcrumb_for_page(page, action = nil) breadcrumb_paths(*paths) end - def nl2br(content) - content.gsub(/(?:\n\r?|\r\n?)/, "
").html_safe - end - private def wiki_page_options_for_select_of_level(pages, diff --git a/app/views/wiki/diff.html.erb b/app/views/wiki/diff.html.erb index 0ad474ed5728..7972c5ca2b28 100644 --- a/app/views/wiki/diff.html.erb +++ b/app/views/wiki/diff.html.erb @@ -44,5 +44,5 @@ See COPYRIGHT and LICENSE files for more details. (<%= @diff.content_to.user ? link_to_user(@diff.content_to.user) : t(:label_user_anonymous) %>, <%= format_time(@diff.content_to.created_at) %>)

- <%= nl2br @html_diff %> + <%= @html_diff.html_safe %>
From 046df33911a90c6f0e60e90c72f0bf6acc55f7ba Mon Sep 17 00:00:00 2001 From: Christophe Bliard Date: Mon, 12 Aug 2024 16:39:57 +0200 Subject: [PATCH 002/147] Add tests for html diff of markdown content Used for wiki diffs --- app/controllers/wiki_controller.rb | 11 +-- lib/open_project/html_diff.rb | 47 ++++++++++ spec/lib/open_project/html_diff_spec.rb | 110 ++++++++++++++++++++++++ 3 files changed, 161 insertions(+), 7 deletions(-) create mode 100644 lib/open_project/html_diff.rb create mode 100644 spec/lib/open_project/html_diff_spec.rb diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb index 8ec4252105cc..bb3233ac0fd7 100644 --- a/app/controllers/wiki_controller.rb +++ b/app/controllers/wiki_controller.rb @@ -261,13 +261,10 @@ def history def diff if (@diff = @page.diff(params[:version_to], params[:version_from])) - @html_diff = HTMLDiff::DiffBuilder.new( - helpers.format_text(@diff.content_from.data.text, disable_macro_expansion: true), - helpers.format_text(@diff.content_to.data.text, disable_macro_expansion: true) - ).build - .gsub(/\n\r?<\/ins>/, '') - .gsub(/\n\r?<\/del>/, '') - .gsub(/^
(
)/, '\1') + @html_diff = OpenProject::HtmlDiff.from_markdown( + @diff.content_from.data.text, + @diff.content_to.data.text + ) else render_404 end diff --git a/lib/open_project/html_diff.rb b/lib/open_project/html_diff.rb new file mode 100644 index 000000000000..6471778aec2f --- /dev/null +++ b/lib/open_project/html_diff.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2024 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +module OpenProject + module HtmlDiff + extend OpenProject::TextFormatting + + module_function + + def from_markdown(markdown_from, markdown_to) + ::HTMLDiff::DiffBuilder.new( + format_text(markdown_from, disable_macro_expansion: true), + format_text(markdown_to, disable_macro_expansion: true) + ).build + .gsub(/(\n\r?)<\/ins>/, '\1') + .gsub(/(\n\r?)<\/del>/, '\1') + .gsub(/^
(
)/, '\1') + end + end +end diff --git a/spec/lib/open_project/html_diff_spec.rb b/spec/lib/open_project/html_diff_spec.rb new file mode 100644 index 000000000000..429022babed0 --- /dev/null +++ b/spec/lib/open_project/html_diff_spec.rb @@ -0,0 +1,110 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2024 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +require "spec_helper" + +RSpec.describe OpenProject::HtmlDiff do + describe ".from_markdown" do + it "hightlights additions with tags" do + from = "" + to = "Hello, world!" + expect(described_class.from_markdown(from, to)) + .to eq(<<~HTML.strip) +

Hello, world!

+ HTML + end + + it "hightlights removals with tags" do + from = "Hello, world!" + to = "" + expect(described_class.from_markdown(from, to)) + .to eq(<<~HTML.strip) +

Hello, world!

+ HTML + end + + it "hightlights modifications with both and tags" do + from = "Hello, world!" + to = "Hello, OpenProject!" + expect(described_class.from_markdown(from, to)) + .to eq(<<~HTML.strip) +

Hello, world!OpenProject!

+ HTML + end + + context "with a list" do + it "removes extra newlines from the diff" do # rubocop:disable RSpec/ExampleLength + from = <<~MARKDOWN + Deletion: + + * Item 1 + + * Item 2 + + Insertion: + + * Item A + MARKDOWN + to = <<~MARKDOWN + Deletion: + + * Item 1 + + Insertion: + + * Item A + + * Item B + MARKDOWN + expect(described_class.from_markdown(from, to)) + .to eq(<<~HTML.strip) +

Deletion:

+
    +
  • +

    Item 1

    +
  • +
  • +

    Item 2

    +
  • +
+

Insertion:

+
    +
  • +

    Item A

    +
  • +
  • +

    Item B

    +
  • +
+ HTML + end + end + end +end From 3e28baaa27cfa108cecaeb33533e54eea664295a Mon Sep 17 00:00:00 2001 From: Christophe Bliard Date: Tue, 13 Aug 2024 10:09:58 +0200 Subject: [PATCH 003/147] Fix test flakiness by forcing work packages order `WorkPackage.all` could return the work packages in any order, which can occasionnally make the test fail as it expects the results in a certain order. --- spec/models/journable/with_historic_attributes_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/models/journable/with_historic_attributes_spec.rb b/spec/models/journable/with_historic_attributes_spec.rb index d5fd106b9b9c..24f6287831a7 100644 --- a/spec/models/journable/with_historic_attributes_spec.rb +++ b/spec/models/journable/with_historic_attributes_spec.rb @@ -149,7 +149,7 @@ end context "with active record relation of work packages" do - let(:work_packages) { WorkPackage.all } + let(:work_packages) { WorkPackage.order(subject: :asc).all } it "provides access to the work-package attributes" do expect(subject.map(&:subject)).to eq ["The current work package 1", "The current work package 2"] @@ -246,7 +246,7 @@ end context "with active record relation of work packages" do - let(:work_packages) { WorkPackage.all } + let(:work_packages) { WorkPackage.order(subject: :asc).all } it "provides access to the work-package attributes at timestamps" do expect(subject.first.attributes_by_timestamp["2022-01-01T00:00:00Z"].subject).to eq "The original work package 1" From dc77722a7f720ec888969e94dfe7aa753cddef4d Mon Sep 17 00:00:00 2001 From: Pavel Balashou Date: Mon, 26 Aug 2024 17:24:24 +0200 Subject: [PATCH 004/147] [#57068] Nextcloud "recheck connection" checks for GroupFolderApp though AMPF is deactivated https://community.openproject.org/work_packages/57068 --- .../nextcloud_connection_validator.rb | 12 +++++------ .../nextcloud_connection_validator_spec.rb | 20 ++++++++++++++++++- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/modules/storages/app/common/storages/peripherals/nextcloud_connection_validator.rb b/modules/storages/app/common/storages/peripherals/nextcloud_connection_validator.rb index faae38e27587..b5645fa7a4ed 100644 --- a/modules/storages/app/common/storages/peripherals/nextcloud_connection_validator.rb +++ b/modules/storages/app/common/storages/peripherals/nextcloud_connection_validator.rb @@ -83,7 +83,7 @@ def missing_dependencies capabilities = query.result - if !capabilities.app_enabled? || !capabilities.group_folder_enabled? + if !capabilities.app_enabled? || (@storage.automatically_managed? && !capabilities.group_folder_enabled?) app_name = if capabilities.app_enabled? I18n.t("storages.dependencies.nextcloud.group_folders_app") else @@ -114,28 +114,26 @@ def version_mismatch min_group_folder_version = SemanticVersion.parse(config.dig("dependencies", "group_folders_app", "min_version")) capabilities = query.result - fetched_app_version = capabilities.app_version - fetched_group_folder_version = capabilities.group_folder_version - if fetched_app_version < min_app_version + if capabilities.app_version < min_app_version Some( ConnectionValidation.new( type: :error, error_code: :err_unexpected_version, timestamp: Time.current, description: I18n.t("storages.health.connection_validation.app_version_mismatch", - found: fetched_app_version.to_s, + found: capabilities.app_version.to_s, expected: min_app_version.to_s) ) ) - elsif fetched_group_folder_version < min_group_folder_version + elsif @storage.automatically_managed? && capabilities.group_folder_version < min_group_folder_version Some( ConnectionValidation.new( type: :error, error_code: :err_unexpected_version, timestamp: Time.current, description: I18n.t("storages.health.connection_validation.group_folder_version_mismatch", - found: fetched_group_folder_version.to_s, + found: capabilities.group_folder_version.to_s, expected: min_group_folder_version.to_s) ) ) diff --git a/modules/storages/spec/common/storages/peripherals/nextcloud_connection_validator_spec.rb b/modules/storages/spec/common/storages/peripherals/nextcloud_connection_validator_spec.rb index 3a0109f4a59b..1ab254fd0ed4 100644 --- a/modules/storages/spec/common/storages/peripherals/nextcloud_connection_validator_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/nextcloud_connection_validator_spec.rb @@ -59,7 +59,7 @@ end context "if request returns a capabilities response" do - let(:storage) { create(:nextcloud_storage_configured) } + let(:storage) { create(:nextcloud_storage_configured, :as_automatically_managed) } let(:app_enabled) { true } let(:app_version) { Storages::SemanticVersion.parse("2.6.3") } let(:group_folder_enabled) { true } @@ -110,6 +110,15 @@ expect(subject.description).to eq("A required dependency is missing on the file storage. " \ "Please add the following dependency: Group folders.") end + + context "if storage is not automatically_managed" do + let(:storage) { create(:nextcloud_storage_configured) } + + it "does not check group_folder app" do + expect(subject.type).to eq(:healthy) + expect(subject.error_code).to eq(:none) + end + end end context "with outdated group folder app" do @@ -121,6 +130,15 @@ expect(subject.description) .to eq("The Group Folder version is not supported. Please update your Nextcloud server.") end + + context "if storage is not automatically_managed" do + let(:storage) { create(:nextcloud_storage_configured) } + + it "does not check group_folder app" do + expect(subject.type).to eq(:healthy) + expect(subject.error_code).to eq(:none) + end + end end end end From e5c4cbb5ae80dce9f7f590418dd392829bf79a6b Mon Sep 17 00:00:00 2001 From: Marcello Rocha Date: Tue, 27 Aug 2024 15:40:11 +0200 Subject: [PATCH 005/147] Finishes implementation of logging and adds new tests to the service --- .../nextcloud/files_info_query.rb | 106 ++++++++---------- .../one_drive/files_info_query.rb | 1 + .../file_links/copy_file_links_service.rb | 54 +++++---- .../copy_file_links_service_spec.rb | 88 +++++++++++++++ 4 files changed, 166 insertions(+), 83 deletions(-) create mode 100644 modules/storages/spec/services/storages/file_links/copy_file_links_service_spec.rb diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_info_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_info_query.rb index 3eee5b468003..dd7fa8ac98bc 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_info_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_info_query.rb @@ -33,6 +33,7 @@ module Peripherals module StorageInteraction module Nextcloud class FilesInfoQuery + include TaggedLogging using ServiceResultRefinements FILES_INFO_PATH = "ocs/v1.php/apps/integration_openproject/filesinfo" @@ -46,17 +47,20 @@ def initialize(storage) end def call(auth_strategy:, file_ids:) - if file_ids.nil? - return Util.error(:error, "File IDs can not be nil", file_ids) - end + with_tagged_logger do + if file_ids.nil? + return Util.error(:error, "File IDs can not be nil", file_ids) + end - if file_ids.empty? - return ServiceResult.success(result: []) - end + if file_ids.empty? + return ServiceResult.success(result: []) + end - http_options = Util.ocs_api_request.deep_merge(Util.accept_json) - Authentication[auth_strategy].call(storage: @storage, http_options:) do |http| - files_info(http, file_ids).map(&parse_json) >> handle_failure >> create_storage_file_infos + http_options = Util.ocs_api_request.deep_merge(Util.accept_json) + Authentication[auth_strategy].call(storage: @storage, http_options:) do |http| + parsed_response = files_info(http, file_ids).on_failure { return _1 }.result + create_storage_file_infos(parsed_response) + end end end @@ -68,7 +72,12 @@ def files_info(http, file_ids) case response in { status: 200..299 } - ServiceResult.success(result: response.body) + json_response = response.json(symbolize_keys: true) + if json_response.dig(:ocs, :meta, :status) == "ok" + ServiceResult.success(result: json_response) + else + Util.error(:error, "Outbound request failed!", error_data) + end in { status: 404 } Util.error(:not_found, "Outbound request destination not found!", error_data) in { status: 401 } @@ -78,57 +87,36 @@ def files_info(http, file_ids) end end - def parse_json - ->(response_body) do - # rubocop:disable Style/OpenStructUse - JSON.parse(response_body, object_class: OpenStruct) - # rubocop:enable Style/OpenStructUse - end - end - - def handle_failure - ->(response_object) do - if response_object.ocs.meta.status == "ok" - ServiceResult.success(result: response_object) - else - error_data = StorageErrorData.new(source: self.class, payload: response_object) - Util.error(:error, "Outbound request failed!", error_data) - end - end - end - # rubocop:disable Metrics/AbcSize - def create_storage_file_infos - ->(response_object) do - ServiceResult.success( - result: response_object.ocs.data.each_pair.map do |key, value| - if value.statuscode == 200 - StorageFileInfo.new( - status: value.status, - status_code: value.statuscode, - id: value.id, - name: value.name, - last_modified_at: Time.zone.at(value.mtime), - created_at: Time.zone.at(value.ctime), - mime_type: value.mimetype, - size: value.size, - owner_name: value.owner_name, - owner_id: value.owner_id, - last_modified_by_name: value.modifier_name, - last_modified_by_id: value.modifier_id, - permissions: value.dav_permissions, - location: location(value.path, value.mimetype) - ) - else - StorageFileInfo.new( - status: value.status, - status_code: value.statuscode, - id: key.to_s.to_i - ) - end + def create_storage_file_infos(parsed_json) + ServiceResult.success( + result: parsed_json.dig(:ocs, :data)&.map do |(key, value)| + if value[:statuscode] == 200 + StorageFileInfo.new( + status: value[:status], + status_code: value[:statuscode], + id: value[:id], + name: value[:name], + last_modified_at: Time.zone.at(value[:mtime]), + created_at: Time.zone.at(value[:ctime]), + mime_type: value[:mimetype], + size: value[:size], + owner_name: value[:owner_name], + owner_id: value[:owner_id], + last_modified_by_name: value[:modifier_name], + last_modified_by_id: value[:modifier_id], + permissions: value[:dav_permissions], + location: location(value[:path], value[:mimetype]) + ) + else + StorageFileInfo.new( + status: value[:status], + status_code: value[:statuscode], + id: key.to_s.to_i + ) end - ) - end + end + ) end # rubocop:enable Metrics/AbcSize diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_info_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_info_query.rb index cd8e40723a2a..939027ac7524 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_info_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_info_query.rb @@ -33,6 +33,7 @@ module Peripherals module StorageInteraction module OneDrive class FilesInfoQuery + include TaggedLogging using ServiceResultRefinements def self.call(storage:, auth_strategy:, file_ids: []) diff --git a/modules/storages/app/services/storages/file_links/copy_file_links_service.rb b/modules/storages/app/services/storages/file_links/copy_file_links_service.rb index 259a048e103c..718b620c0ea3 100644 --- a/modules/storages/app/services/storages/file_links/copy_file_links_service.rb +++ b/modules/storages/app/services/storages/file_links/copy_file_links_service.rb @@ -31,6 +31,7 @@ module Storages module FileLinks class CopyFileLinksService + include TaggedLogging include OpenProject::LocaleHelper def self.call(source:, target:, user:, work_packages_map:) @@ -45,42 +46,51 @@ def initialize(source:, target:, user:, work_packages_map:) end def call - source_file_links = FileLink - .includes(:creator) - .where(storage: @source.storage, - container_id: @work_packages_map.keys, - container_type: "WorkPackage") - - with_locale_for(@user) do - if @source.project_folder_automatic? - create_managed_file_links(source_file_links) - else - create_unmanaged_file_links(source_file_links) + with_tagged_logger([self.class, @source.id, @target.id]) do + source_file_links = FileLink.includes(:creator) + .where(storage: @source.storage, + container_id: @work_packages_map.keys, + container_type: "WorkPackage") + + info "Found #{source_file_links.count} source file links" + with_locale_for(@user) do + info "Creating file links..." + if @source.project_folder_automatic? + create_managed_file_links(source_file_links) + else + create_unmanaged_file_links(source_file_links) + end end end + info "File link creation finished" end private # rubocop:disable Metrics/AbcSize def create_managed_file_links(source_file_links) + info "Getting information about the source file links" source_info = source_files_info(source_file_links).on_failure do |failed| - log_errors(failed) + log_storage_error(failed.errors) return failed end + info "Getting information about the copied target files" target_map = target_files_map.on_failure do |failed| - log_errors(failed) + log_storage_error(failed.errors) return failed end + info "Building equivalency map..." location_map = build_location_map(source_info.result, target_map.result) + info "Creating file links based on the location map #{location_map}" source_file_links.find_each do |source_link| - next unless location_map.has_key?(source_link.origin_id) + next if location_map[source_link.origin_id].blank? attributes = source_link.dup.attributes attributes.merge!( + "storage_id" => @target.storage_id, "creator_id" => @user.id, "container_id" => @work_packages_map[source_link.container_id], "origin_id" => location_map[source_link.origin_id] @@ -92,15 +102,11 @@ def create_managed_file_links(source_file_links) end # rubocop:enable Metrics/AbcSize - # rubocop:disable Metrics/AbcSize def build_location_map(source_files, target_location_map) # We need this due to inconsistencies of how we represent the File Path target_location_map.transform_keys! { |key| key.starts_with?("/") ? key : "/#{key}" } - # Since right now we can't make the relevant call as a remote admin we need to filter out 403 responses - source_location_map = source_files.filter { |info| info.status_code.to_i == 200 }.to_h do |info| - [info.id.to_s, info.clean_location] - end + source_location_map = source_files.to_h { |info| [info.id.to_s, info.clean_location] } source_location_map.each_with_object({}) do |(id, location), output| target = location.gsub(@source.managed_project_folder_path, @target.managed_project_folder_path) @@ -108,7 +114,6 @@ def build_location_map(source_files, target_location_map) output[id] = target_location_map[target]&.id || id end end - # rubocop:enable Metrics/AbcSize def auth_strategy Peripherals::Registry.resolve("#{@source.storage.short_provider_type}.authentication.userless").call @@ -122,13 +127,14 @@ def source_files_info(source_file_links) def target_files_map Peripherals::Registry - .resolve("#{@source.storage.short_provider_type}.queries.file_path_to_id_map") - .call(storage: @source.storage, auth_strategy:, folder: Peripherals::ParentFolder.new(@target.project_folder_location)) + .resolve("#{@target.storage.short_provider_type}.queries.file_path_to_id_map") + .call(storage: @target.storage, auth_strategy:, folder: Peripherals::ParentFolder.new(@target.project_folder_location)) end def create_unmanaged_file_links(source_file_links) source_file_links.find_each do |source_file_link| attributes = source_file_link.dup.attributes + attributes["storage_id"] = @target.storage_id attributes["creator_id"] = @user.id attributes["container_id"] = @work_packages_map[source_file_link.container_id] @@ -138,8 +144,8 @@ def create_unmanaged_file_links(source_file_links) end def log_errors(failure) - OpenProject.logger.error failure.inspect - OpenProject.logger.error failure.errors.inspect + error failure.inspect + error failure.errors.inspect end end end diff --git a/modules/storages/spec/services/storages/file_links/copy_file_links_service_spec.rb b/modules/storages/spec/services/storages/file_links/copy_file_links_service_spec.rb new file mode 100644 index 000000000000..afe18b5932a4 --- /dev/null +++ b/modules/storages/spec/services/storages/file_links/copy_file_links_service_spec.rb @@ -0,0 +1,88 @@ +#-- copyright +#++ + +require "spec_helper" +require_module_spec_helper + +RSpec.describe Storages::FileLinks::CopyFileLinksService, :webmock do + let(:source) { create(:nextcloud_storage_with_complete_configuration) } + let(:target) { create(:nextcloud_storage_with_complete_configuration) } + + let(:source_storage) { create(:project_storage, storage: source, project_folder_mode: "automatic") } + let(:target_storage) { create(:project_storage, storage: target, project_folder_mode: "automatic") } + + let(:source_wp) { create_list(:work_package, 5, project: source_storage.project) } + let(:target_wp) { create_list(:work_package, 5, project: target_storage.project) } + + let(:source_links) { source_wp.map { create(:file_link, container: _1, storage: source) } } + + let(:wp_map) { source_wp.map(&:id).zip(target_wp.map(&:id)).to_h } + + let(:user) { create(:user) } + + subject(:service) { described_class.new(source: source_storage, target: target_storage, user:, work_packages_map: wp_map) } + + before { source_links } + + context "when unmanaged storage" do + let(:source_storage) { create(:project_storage, storage: source, project_folder_mode: "manual") } + let(:target_storage) { create(:project_storage, storage: target, project_folder_mode: "manual") } + + it "creates file links pointing to the same files" do + expect { service.call }.to change(Storages::FileLink, :count).by(5) + + Storages::FileLink.last(5).each_with_index do |link, index| + expect(link.origin_id).to eq(source_links[index].origin_id) + end + end + end + + context "when AMPF is enabled" do + let(:files_info) { class_double(Storages::Peripherals::StorageInteraction::Nextcloud::FilesInfoQuery) } + let(:file_path_to_id) { class_double(Storages::Peripherals::StorageInteraction::Nextcloud::FilePathToIdMapQuery) } + let(:auth_strategy) do + Storages::Peripherals::StorageInteraction::AuthenticationStrategies::Strategy.new(key: :basic_auth) + end + + let(:target_folder) { Storages::Peripherals::ParentFolder.new(target_storage.managed_project_folder_path) } + + let(:remote_source_info) do + source_links.map do |link| + Storages::StorageFileInfo.new(status: "ok", status_code: 200, id: link.origin_id, name: link.origin_name, + location: File.join(source_storage.managed_project_folder_path, link.origin_name)) + end + end + + let(:path_to_ids) do + source_links.each_with_object({}) do |link, hash| + key = File.join(target_storage.managed_project_folder_path, link.origin_name) + id = Storages::StorageFileId.new(id: "#{link.origin_id}_target") + hash[key] = id + end + end + + before do + Storages::Peripherals::Registry.stub("nextcloud.queries.files_info", files_info) + Storages::Peripherals::Registry.stub("nextcloud.authentication.userless", -> { auth_strategy }) + Storages::Peripherals::Registry.stub("nextcloud.queries.file_path_to_id_map", file_path_to_id) + + allow(Storages::Peripherals::ParentFolder).to receive(:new).with(target_storage.project_folder_location) + .and_return(target_folder) + + allow(files_info).to receive(:call).with(file_ids: source_links.map(&:origin_id), storage: source, auth_strategy:) + .and_return(ServiceResult.success(result: remote_source_info)) + + allow(file_path_to_id).to receive(:call).with(storage: target, auth_strategy:, folder: target_folder) + .and_return(ServiceResult.success(result: path_to_ids)) + end + + it "create links to the newly copied files" do + expect { service.call }.to change(Storages::FileLink, :count).by(5) + + Storages::FileLink.last(5).each do |link| + expect(link.origin_id).to match /_target$/ + expect(link.storage_id).to eq(target.id) + end + end + end +end From 86c276b470ad544601f82e7c86cf13018b0f454c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 28 Aug 2024 09:47:21 +0200 Subject: [PATCH 006/147] Add release-notes file --- docs/release-notes/14-4-1/README.md | 32 +++++++++++++++++++++++++++++ docs/release-notes/README.md | 7 +++++++ 2 files changed, 39 insertions(+) create mode 100644 docs/release-notes/14-4-1/README.md diff --git a/docs/release-notes/14-4-1/README.md b/docs/release-notes/14-4-1/README.md new file mode 100644 index 000000000000..f161e68d01bd --- /dev/null +++ b/docs/release-notes/14-4-1/README.md @@ -0,0 +1,32 @@ +--- +title: OpenProject 14.4.1 +sidebar_navigation: + title: 14.4.1 +release_version: 14.4.1 +release_date: 2024-08-28 +--- + +# OpenProject 14.4.1 + +Release date: 2024-08-28 + +We released OpenProject [OpenProject 14.4.1](https://community.openproject.org/versions/2110). +The release contains several bug fixes and we recommend updating to the newest version. +In these Release Notes, we will give an overview of important feature changes. +At the end, you will find a complete list of all changes and bug fixes. + + + +## Bug fixes and changes + + + + +- Bugfix: Project Storage Members breaks when Groups or Placeholder Users are members of a project \[[#57260](https://community.openproject.org/wp/57260)\] +- Bugfix: Custom field filter in project list causes internal server error when opening it \[[#57298](https://community.openproject.org/wp/57298)\] +- Bugfix: Robots follow sort header links unnecessarily \[[#57306](https://community.openproject.org/wp/57306)\] +- Bugfix: Internal error when trying to access notifications menu \[[#57351](https://community.openproject.org/wp/57351)\] +- Bugfix: \[API\] File link creation does not work for legacy nextcloud storage data \[[#57501](https://community.openproject.org/wp/57501)\] + + + diff --git a/docs/release-notes/README.md b/docs/release-notes/README.md index ae1f4c0886e0..20ef61cebbe5 100644 --- a/docs/release-notes/README.md +++ b/docs/release-notes/README.md @@ -13,6 +13,13 @@ Stay up to date and get an overview of the new features included in the releases +## 14.4.1 + +Release date: 2024-08-28 + +[Release Notes](14-4-1/) + + ## 14.4.0 Release date: 2024-08-14 From 0dcf4680f71bab824e9170a029dafaf555e7a657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 28 Aug 2024 09:47:22 +0200 Subject: [PATCH 007/147] Bumped version to 14.4.2 [ci skip] --- lib/open_project/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/open_project/version.rb b/lib/open_project/version.rb index 915cc3386ec8..082f629b9299 100644 --- a/lib/open_project/version.rb +++ b/lib/open_project/version.rb @@ -33,7 +33,7 @@ module OpenProject module VERSION # :nodoc: MAJOR = 14 MINOR = 4 - PATCH = 1 + PATCH = 2 class << self # Used by semver to define the special version (if any). From 68bd0bb2566c893b272482bd44b29981b613cb5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 28 Aug 2024 10:43:42 +0200 Subject: [PATCH 008/147] Remove reference to storybook --- docs/development/design-system/README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/development/design-system/README.md b/docs/development/design-system/README.md index 58aa524fd4b9..812763f929e2 100644 --- a/docs/development/design-system/README.md +++ b/docs/development/design-system/README.md @@ -8,7 +8,3 @@ keywords: Design system, Primer, styles, design, components # Design System and Component Libraries Starting in OpenProject 13.0., the [Primer Design System](https://primer.style/design/) is being used in OpenProject. Relevant reusable components from Primer as well as common patterns and compositions of these components will be documented in our [Lookbook](https://qa.openproject-edge.com/lookbook/). - -Prior to 13.0., components were defined in its own Design System called SPOT which is slowly being replaced by Primer. -Components still defined for SPOT are documented in the last build of storybook found -here: https://opf.github.io/design-system From b3e497d6a8dc138e11bbc890e63c0e445bbb8bb5 Mon Sep 17 00:00:00 2001 From: Aaron Contreras Date: Tue, 27 Aug 2024 11:30:32 -0500 Subject: [PATCH 009/147] Allow "Accountable" to be a settable field via inbound mails --- app/models/mail_handler.rb | 27 ++++++++++++------- .../wp_mention_reply_with_attributes.eml | 1 + .../mail_handler/wp_on_given_project.eml | 1 + .../wp_on_given_project_group_assignment.eml | 1 + .../wp_reply_with_quoted_reply_above.eml | 1 + .../wp_with_invalid_attributes.eml | 1 + spec/models/mail_handler_spec.rb | 20 +++++++++++++- 7 files changed, 42 insertions(+), 10 deletions(-) diff --git a/app/models/mail_handler.rb b/app/models/mail_handler.rb index c404f5d4e238..3525d0d6ba26 100644 --- a/app/models/mail_handler.rb +++ b/app/models/mail_handler.rb @@ -377,17 +377,18 @@ def target_project # Returns a Hash of issue attributes extracted from keywords in the email body def wp_attributes_from_keywords(work_package) { - "type_id" => wp_type_from_keywords(work_package), - "status_id" => wp_status_from_keywords, - "parent_id" => wp_parent_from_keywords, - "priority_id" => wp_priority_from_keywords, - "category_id" => wp_category_from_keywords(work_package), "assigned_to_id" => wp_assignee_from_keywords(work_package), - "version_id" => wp_version_from_keywords(work_package), - "start_date" => wp_start_date_from_keywords, + "category_id" => wp_category_from_keywords(work_package), "due_date" => wp_due_date_from_keywords, "estimated_hours" => wp_estimated_hours_from_keywords, - "remaining_hours" => wp_remaining_hours_from_keywords + "parent_id" => wp_parent_from_keywords, + "priority_id" => wp_priority_from_keywords, + "remaining_hours" => wp_remaining_hours_from_keywords, + "responsible_id" => wp_accountable_from_keywords(work_package), + "start_date" => wp_start_date_from_keywords, + "status_id" => wp_status_from_keywords, + "type_id" => wp_type_from_keywords(work_package), + "version_id" => wp_version_from_keywords(work_package) }.compact_blank! end @@ -541,8 +542,16 @@ def wp_category_from_keywords(work_package) lookup_case_insensitive_key(work_package.project.categories, :category) end + def wp_accountable_from_keywords(work_package) + get_assignable_principal_from_keywords(:responsible, work_package) + end + def wp_assignee_from_keywords(work_package) - keyword = get_keyword(:assigned_to, override: true) + get_assignable_principal_from_keywords(:assigned_to, work_package) + end + + def get_assignable_principal_from_keywords(keyword, work_package) + keyword = get_keyword(keyword, override: true) return nil if keyword.blank? diff --git a/spec/fixtures/mail_handler/wp_mention_reply_with_attributes.eml b/spec/fixtures/mail_handler/wp_mention_reply_with_attributes.eml index 2dfa10986161..ec585e24d3b6 100644 --- a/spec/fixtures/mail_handler/wp_mention_reply_with_attributes.eml +++ b/spec/fixtures/mail_handler/wp_mention_reply_with_attributes.eml @@ -52,6 +52,7 @@ The text of the reply. Status: Resolved due date: 2010-12-31 Start Date:2010-01-01 +Accountable: jsmith@somenet.foo Assigned to: jsmith@somenet.foo float field: 52.6 diff --git a/spec/fixtures/mail_handler/wp_on_given_project.eml b/spec/fixtures/mail_handler/wp_on_given_project.eml index 92e06b5fbf11..6802e2ca5150 100644 --- a/spec/fixtures/mail_handler/wp_on_given_project.eml +++ b/spec/fixtures/mail_handler/wp_on_given_project.eml @@ -53,6 +53,7 @@ Project: onlinestore Status: Resolved due date: 2010-12-31 Start Date:2010-01-01 +Accountable: John Smith Assigned to: John Smith Version: alpha estimated hours: 2.5 diff --git a/spec/fixtures/mail_handler/wp_on_given_project_group_assignment.eml b/spec/fixtures/mail_handler/wp_on_given_project_group_assignment.eml index 1a3b1be315a4..34fc9753ffcf 100644 --- a/spec/fixtures/mail_handler/wp_on_given_project_group_assignment.eml +++ b/spec/fixtures/mail_handler/wp_on_given_project_group_assignment.eml @@ -53,6 +53,7 @@ Project: onlinestore Status: Resolved due date: 2010-12-31 Start Date:2010-01-01 +Accountable: A-Team Assigned to: A-Team Version: alpha estimated hours: 2.5 diff --git a/spec/fixtures/mail_handler/wp_reply_with_quoted_reply_above.eml b/spec/fixtures/mail_handler/wp_reply_with_quoted_reply_above.eml index 15a20bfe81cd..6748f37c9b1d 100644 --- a/spec/fixtures/mail_handler/wp_reply_with_quoted_reply_above.eml +++ b/spec/fixtures/mail_handler/wp_reply_with_quoted_reply_above.eml @@ -39,6 +39,7 @@ platea dictumst. > > Subject changed from Projects with JSON to Project JSON API > Status changed from New to Assigned +> Accountable set to Jerry Smith > Assignee set to Eric Davis > Priority changed from Low to Normal > Estimated time deleted (1.00) diff --git a/spec/fixtures/mail_handler/wp_with_invalid_attributes.eml b/spec/fixtures/mail_handler/wp_with_invalid_attributes.eml index 9c2b93637317..9a7802bc822c 100644 --- a/spec/fixtures/mail_handler/wp_with_invalid_attributes.eml +++ b/spec/fixtures/mail_handler/wp_with_invalid_attributes.eml @@ -40,6 +40,7 @@ pulvinar dui, a gravida orci mi eget odio. Nunc a lacus. Project: onlinestore Type: Feature request category: Stock management +accountable: jerrysmith@foo.bar assigned to: miscuser9@foo.bar priority: foo start date: some day diff --git a/spec/models/mail_handler_spec.rb b/spec/models/mail_handler_spec.rb index 49bc97a62f37..eb4b177667e0 100644 --- a/spec/models/mail_handler_spec.rb +++ b/spec/models/mail_handler_spec.rb @@ -557,6 +557,11 @@ .to eql("2010-12-31") end + it "sets the accountable" do + expect(subject.responsible) + .to eql(user) + end + it "sets the assignee" do expect(subject.assigned_to) .to eql(user) @@ -652,6 +657,11 @@ it_behaves_like "work package created" + it "sets the accountable to the group" do + expect(subject.responsible) + .to eql(group) + end + it "sets the assignee to the group" do expect(subject.assigned_to) .to eql(group) @@ -1078,6 +1088,9 @@ it_behaves_like "work package created" it "ignores the invalid attributes and set default ones where possible" do + expect(subject.responsible) + .to be_nil + expect(subject.assigned_to) .to be_nil @@ -1212,14 +1225,18 @@ member_with_permissions: { project => %i(view_work_packages) }, notification_settings: [build(:notification_setting, assignee: true, responsible: true)]) + responsible = create(:user, + member_with_permissions: { project => %i(view_work_packages) }, + notification_settings: [build(:notification_setting, assignee: true, responsible: true)]) work_package.update_column(:assigned_to_id, assignee.id) + work_package.update_column(:responsible_id, responsible.id) # Sends notifications for the assignee and the author who is listening for all changes. expect do perform_enqueued_jobs do subject end - end.to change(Notification, :count).by(1) + end.to change(Notification, :count).by(2) end end @@ -1269,6 +1286,7 @@ .to eql( "due_date" => [nil, Date.parse("Fri, 31 Dec 2010")], "status_id" => [original_status.id, resolved_status.id], + "responsible_id" => [nil, other_user.id], "assigned_to_id" => [nil, other_user.id], "start_date" => [nil, Date.parse("Fri, 01 Jan 2010")], "duration" => [nil, 365], From 93a6873dd954237a0fcfc9c4c25f737465e66ff0 Mon Sep 17 00:00:00 2001 From: Christophe Bliard Date: Wed, 28 Aug 2024 14:37:09 +0200 Subject: [PATCH 010/147] [57512] Make it easier to clear all fields https://community.openproject.org/wp/57512 When work is modified and remaining work and % complete are both empty, the % complete field should not be untouched because that would lead to it having a value again, which is tedious when one wants to clear all values. --- .../touched-field-marker.controller.ts | 3 ++ .../work_packages/progress_modal_spec.rb | 29 ++++++++++++++++- .../work_packages/progress_popover.rb | 31 ++++++++++++++++++- .../edit_fields/progress_edit_field.rb | 23 ++++++++++++++ 4 files changed, 84 insertions(+), 2 deletions(-) diff --git a/frontend/src/stimulus/controllers/dynamic/work-packages/progress/touched-field-marker.controller.ts b/frontend/src/stimulus/controllers/dynamic/work-packages/progress/touched-field-marker.controller.ts index faed942b2fb9..7c96bcd31913 100644 --- a/frontend/src/stimulus/controllers/dynamic/work-packages/progress/touched-field-marker.controller.ts +++ b/frontend/src/stimulus/controllers/dynamic/work-packages/progress/touched-field-marker.controller.ts @@ -73,6 +73,9 @@ export default class TouchedFieldMarkerController extends Controller { private untouchFieldsWhenWorkIsEdited() { if (this.areBothTouched('remaining_hours', 'done_ratio')) { + if (this.isValueEmpty('done_ratio') && this.isValueEmpty('remaining_hours')) { + return; + } if (this.isValueEmpty('done_ratio')) { this.markUntouched('done_ratio'); } else { diff --git a/spec/features/work_packages/progress_modal_spec.rb b/spec/features/work_packages/progress_modal_spec.rb index 658c7b131034..c84db5bd44a4 100644 --- a/spec/features/work_packages/progress_modal_spec.rb +++ b/spec/features/work_packages/progress_modal_spec.rb @@ -514,7 +514,7 @@ def visit_progress_query_displaying_work_package end # scenario from https://community.openproject.org/wp/57370 - specify "Case 33-14: when work and % complete are cleared, and then work " \ + specify "Case 33-1: when work and % complete are cleared, and then work " \ "is set again then % complete is derived again" do visit_progress_query_displaying_work_package @@ -528,6 +528,33 @@ def visit_progress_query_displaying_work_package # => % complete is derived progress_popover.expect_values(work: "20h", remaining_work: "4h", percent_complete: "80%") end + + # scenario from https://community.openproject.org/wp/57370 + specify "Case 33-2: when remaining work and % complete are cleared, " \ + "changing or clearing work does not modify % complete at all" do + puts "#{Time.current.iso8601(3)} #{__FILE__}:#{__LINE__} " + visit_progress_query_displaying_work_package + puts "#{Time.current.iso8601(3)} #{__FILE__}:#{__LINE__} " + + progress_popover.open + progress_popover.set_values(remaining_work: "") + progress_popover.expect_values(work: "", remaining_work: "", percent_complete: "60%") + progress_popover.expect_hints(work: :cleared_because_remaining_work_is_empty) + + progress_popover.set_values(percent_complete: "") + progress_popover.expect_values(work: "10h", remaining_work: "", percent_complete: "") + progress_popover.expect_hints(work: nil, remaining_work: nil, percent_complete: nil) + + # partially deleting work value like when pressing backspace + progress_popover.set_values(work: "1") + progress_popover.expect_values(work: "1", remaining_work: "", percent_complete: "") + progress_popover.expect_hints(work: nil, remaining_work: nil, percent_complete: nil) + + # completly clearing work value + progress_popover.set_values(work: "") + progress_popover.expect_values(work: "", remaining_work: "", percent_complete: "") + progress_popover.expect_hints(work: nil, remaining_work: nil, percent_complete: nil) + end end context "given work, remaining work, and % complete are all empty" do diff --git a/spec/support/components/work_packages/progress_popover.rb b/spec/support/components/work_packages/progress_popover.rb index 92cf954cc839..1d311c2d64d0 100644 --- a/spec/support/components/work_packages/progress_popover.rb +++ b/spec/support/components/work_packages/progress_popover.rb @@ -49,6 +49,15 @@ class ProgressPopover work: :estimatedTime }.freeze + WORK_PACKAGE_FIELD_NAME_MAP = { + estimated_time: :estimated_hours, + percent_complete: :done_ratio, + percentage_done: :done_ratio, + remaining_work: :remaining_hours, + remaining_time: :remaining_hours, + work: :estimated_hours + }.freeze + attr_reader :container, :create_form def initialize(container: page, create_form: false) @@ -118,13 +127,26 @@ def expect_value(field_name, value, **properties) end def expect_values(**field_value_pairs) - aggregate_failures("progress popover expectations") do + aggregate_failures("progress popover values expectations") do field_value_pairs.each do |field_name, value| expect_value(field_name, value) end end end + def expect_hint(field_name, hint) + expected_caption = hint && I18n.t("work_package.progress.derivation_hints.#{wp_field_name(field_name)}.#{hint}") + field(field_name).expect_caption(expected_caption) + end + + def expect_hints(**field_hint_pairs) + aggregate_failures("progress popover hints expectations") do + field_hint_pairs.each do |field_name, hint| + expect_hint(field_name, hint) + end + end + end + private def field(field_name) @@ -138,6 +160,13 @@ def js_field_name(field_name) raise ArgumentError, "cannot map '#{field_name.inspect}' to its javascript field name" end end + + def wp_field_name(field_name) + field_name = field_name.to_s.underscore.to_sym + WORK_PACKAGE_FIELD_NAME_MAP.fetch(field_name) do + raise ArgumentError, "cannot map '#{field_name.inspect}' to its work package field name" + end + end end end end diff --git a/spec/support/edit_fields/progress_edit_field.rb b/spec/support/edit_fields/progress_edit_field.rb index 229849c2eb36..5ba98108a023 100644 --- a/spec/support/edit_fields/progress_edit_field.rb +++ b/spec/support/edit_fields/progress_edit_field.rb @@ -38,6 +38,12 @@ class ProgressEditField < EditField "percentageDone" => :done_ratio, "statusWithinProgressModal" => :status_id }.freeze + HUMAN_FIELD_NAME_MAP = { + "estimatedTime" => "work", + "remainingTime" => "remaining work", + "percentageDone" => "% complete", + "statusWithinProgressModal" => "status" + }.freeze def initialize(context, property_name, @@ -46,6 +52,7 @@ def initialize(context, super @field_name = "work_package_#{FIELD_NAME_MAP.fetch(@property_name)}" + @human_field_name = HUMAN_FIELD_NAME_MAP.fetch(@property_name) @trigger_selector = "input[id$=inline-edit--field-#{@property_name}]" end @@ -108,6 +115,13 @@ def input_element modal_element.find_field(field_name) end + def input_caption_element + input_element["aria-describedby"] + .split + .find { _1.start_with?("caption-") } + &.then { |caption_id| find(id: caption_id) } + end + def trigger_element within @context do page.find(@trigger_selector) @@ -203,6 +217,15 @@ def expect_modal_field_value(value, disabled: false, readonly: false) end end + def expect_caption(expected_caption) + if expected_caption.nil? + expect(input_caption_element).to be_nil, "Expected no caption for #{@human_field_name} field, " \ + "got \"#{input_caption_element&.text}\"" + else + expect(input_caption_element).to have_text(expected_caption) + end + end + def expect_select_field_with_options(*expected_options) within modal_element do expect(page).to have_select(field_name, with_options: expected_options) From 4ec1286a0d41ce8ae48d52e323d88f516a630d6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 28 Aug 2024 14:22:05 +0200 Subject: [PATCH 011/147] Remove duplicate instructions if ldap and identity provider --- app/views/my/account.html.erb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/views/my/account.html.erb b/app/views/my/account.html.erb index dbffe52a7b1a..316e5c7db6f6 100644 --- a/app/views/my/account.html.erb +++ b/app/views/my/account.html.erb @@ -60,8 +60,7 @@ See COPYRIGHT and LICENSE files for more details. <%= f.text_field :firstname, required: true, container_class: '-middle', disabled: login_via_provider || login_via_ldap %> <% if login_via_provider %> <%= t('user.text_change_disabled_for_provider_login') %> - <% end %> - <% if login_via_ldap %> + <% elsif login_via_ldap %> <%= t('user.text_change_disabled_for_ldap_login') %> <% end %> @@ -69,14 +68,15 @@ See COPYRIGHT and LICENSE files for more details. <%= f.text_field :lastname, required: true, container_class: '-middle', disabled: login_via_provider || login_via_ldap %> <% if login_via_provider %> <%= t('user.text_change_disabled_for_provider_login') %> - <% end %> - <% if login_via_ldap %> + <% elsif login_via_ldap %> <%= t('user.text_change_disabled_for_ldap_login') %> <% end %>
<%= f.text_field :mail, required: true, container_class: '-middle', disabled: login_via_ldap %> - <% if login_via_ldap %> + <% if login_via_provider %> + <%= t('user.text_change_disabled_for_provider_login') %> + <% elsif login_via_ldap %> <%= t('user.text_change_disabled_for_ldap_login') %> <% end %>
From 6d19bfd552f913fc5a8a45ce757b25f4b9faa60f Mon Sep 17 00:00:00 2001 From: Christophe Bliard Date: Wed, 28 Aug 2024 16:04:56 +0200 Subject: [PATCH 012/147] Remove debug statements --- spec/features/work_packages/progress_modal_spec.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/spec/features/work_packages/progress_modal_spec.rb b/spec/features/work_packages/progress_modal_spec.rb index c84db5bd44a4..9856c79a6ae2 100644 --- a/spec/features/work_packages/progress_modal_spec.rb +++ b/spec/features/work_packages/progress_modal_spec.rb @@ -532,9 +532,7 @@ def visit_progress_query_displaying_work_package # scenario from https://community.openproject.org/wp/57370 specify "Case 33-2: when remaining work and % complete are cleared, " \ "changing or clearing work does not modify % complete at all" do - puts "#{Time.current.iso8601(3)} #{__FILE__}:#{__LINE__} " visit_progress_query_displaying_work_package - puts "#{Time.current.iso8601(3)} #{__FILE__}:#{__LINE__} " progress_popover.open progress_popover.set_values(remaining_work: "") From 157c57e842625e521f90e0f9c8a0899bfcda5806 Mon Sep 17 00:00:00 2001 From: Christophe Bliard Date: Wed, 28 Aug 2024 16:05:22 +0200 Subject: [PATCH 013/147] Make raise_exceptions an option in ChronicDuration It avoids having a global state which is always a bit brittle in tests. --- app/services/duration_converter.rb | 22 +++------------------- lib/chronic_duration.rb | 10 +++++----- spec/lib/chronic_duration_spec.rb | 13 +++++++++++++ 3 files changed, 21 insertions(+), 24 deletions(-) diff --git a/app/services/duration_converter.rb b/app/services/duration_converter.rb index 1df40065e91f..e2efe5a771e7 100644 --- a/app/services/duration_converter.rb +++ b/app/services/duration_converter.rb @@ -78,23 +78,7 @@ class << self def parse(duration_string) return nil if duration_string.blank? - # Assume the next logical unit to allow users to write - # durations such as "2h 1" assuming "1" is "1 minute" - last_unit_in_string = duration_string.scan(/[a-zA-Z]+/) - .last - default_unit = if last_unit_in_string - last_unit_in_string - .then { |last_unit| UNIT_ABBREVIATION_MAP[last_unit.downcase] } - .then { |last_unit| NEXT_UNIT_MAP[last_unit] } - else - "hours" - end - - ChronicDuration.raise_exceptions = true - ChronicDuration.parse(duration_string, - keep_zero: true, - default_unit:, - **duration_length_options) / 3600.to_f + do_parse(duration_string) end def valid?(duration) @@ -130,7 +114,7 @@ def parseable?(duration_string) number >= 0 else begin - internal_parse(duration_string) + do_parse(duration_string) true rescue ChronicDuration::DurationParseError false @@ -138,7 +122,7 @@ def parseable?(duration_string) end end - def internal_parse(duration_string) + def do_parse(duration_string) # Assume the next logical unit to allow users to write # durations such as "2h 1" assuming "1" is "1 minute" last_unit_in_string = duration_string.scan(/[a-zA-Z]+/) diff --git a/lib/chronic_duration.rb b/lib/chronic_duration.rb index a26e2eb0807a..945001248116 100644 --- a/lib/chronic_duration.rb +++ b/lib/chronic_duration.rb @@ -74,7 +74,7 @@ def self.days_per_month=(value) # return an integer (or float, if fractions of a # second are input) def parse(string, opts = {}) - result = calculate_from_words(cleanup(string), opts) + result = calculate_from_words(cleanup(string, opts), opts) !opts[:keep_zero] && result == 0 ? nil : result end @@ -247,11 +247,11 @@ def calculate_from_words(string, opts) val end - def cleanup(string) + def cleanup(string, opts = {}) res = string.downcase res = filter_by_type(res) res = res.gsub(float_matcher) { |n| " #{n} " }.squeeze(" ").strip - filter_through_white_list(res) + filter_through_white_list(res, opts) end def convert_to_number(string) @@ -308,7 +308,7 @@ def float_matcher # Get rid of unknown words and map found # words to defined time units - def filter_through_white_list(string) + def filter_through_white_list(string, opts) res = [] string.split.each do |word| if word&.match?(float_matcher) @@ -318,7 +318,7 @@ def filter_through_white_list(string) stripped_word = word.strip.gsub(/^,/, "").gsub(/,$/, "") if mappings.has_key?(stripped_word) res << mappings[stripped_word] - elsif !join_words.include?(stripped_word) and ChronicDuration.raise_exceptions # rubocop:disable Rails/NegateInclude + elsif !join_words.include?(stripped_word) and opts.fetch(:raise_exceptions, ChronicDuration.raise_exceptions) # rubocop:disable Rails/NegateInclude raise DurationParseError, "An invalid word #{word.inspect} was used in the string to be parsed." end end diff --git a/spec/lib/chronic_duration_spec.rb b/spec/lib/chronic_duration_spec.rb index 32e9ebc6563f..b47039765c59 100644 --- a/spec/lib/chronic_duration_spec.rb +++ b/spec/lib/chronic_duration_spec.rb @@ -79,6 +79,19 @@ it "raises with ChronicDuration::DurationParseError" do expect { described_class.parse("23 gobblygoos") }.to raise_error(ChronicDuration::DurationParseError) end + + context "when passing `raise_exceptions: false` as an option" do + it "overrides @@raise_exception and returns nil" do + expect(described_class.parse("gobblygoos", raise_exceptions: false)).to be_nil + end + end + end + + context "when passing `raise_exceptions: true` as an option" do + it "overrides @@raise_exception and raises with ChronicDuration::DurationParseError" do + expect { described_class.parse("23 gobblygoos", raise_exceptions: true) } + .to raise_error(ChronicDuration::DurationParseError) + end end end From 964581d24239a166227d0c0b4b548dba92554215 Mon Sep 17 00:00:00 2001 From: Ivan Kuchin Date: Fri, 23 Aug 2024 12:30:41 +0200 Subject: [PATCH 014/147] [#57401] Sorting by link custom field causes exception https://community.openproject.org/work_packages/57401 From baab1ce42a579037547832756f723abe5889badb Mon Sep 17 00:00:00 2001 From: Ivan Kuchin Date: Fri, 23 Aug 2024 19:25:02 +0200 Subject: [PATCH 015/147] allow ordering by link custom field --- app/models/custom_field/order_statements.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/custom_field/order_statements.rb b/app/models/custom_field/order_statements.rb index c5463cf147c8..e13a19a9f306 100644 --- a/app/models/custom_field/order_statements.rb +++ b/app/models/custom_field/order_statements.rb @@ -38,7 +38,7 @@ def order_statements else [select_custom_option_position] end - when "string", "text", "date", "bool" + when "string", "text", "date", "bool", "link" if multi_value? [select_custom_values_as_group] else From 6b313e4a5bf13cbce43ca5d1cf7ee62d2648a09c Mon Sep 17 00:00:00 2001 From: Ivan Kuchin Date: Fri, 23 Aug 2024 19:27:49 +0200 Subject: [PATCH 016/147] test all ordering using all custom field formats --- spec/factories/custom_field_factory.rb | 3 + .../results_cf_sorting_integration_spec.rb | 290 +++++++++++++++--- 2 files changed, 257 insertions(+), 36 deletions(-) diff --git a/spec/factories/custom_field_factory.rb b/spec/factories/custom_field_factory.rb index 4ce3ad459488..4b3d266f1db6 100644 --- a/spec/factories/custom_field_factory.rb +++ b/spec/factories/custom_field_factory.rb @@ -217,8 +217,11 @@ factory :float_wp_custom_field, traits: [:float] factory :date_wp_custom_field, traits: [:date] factory :list_wp_custom_field, traits: [:list] + factory :multi_list_wp_custom_field, traits: [:multi_list] factory :version_wp_custom_field, traits: [:version] + factory :multi_version_wp_custom_field, traits: [:multi_version] factory :user_wp_custom_field, traits: [:user] + factory :multi_user_wp_custom_field, traits: [:multi_user] factory :link_wp_custom_field, traits: [:link] end diff --git a/spec/models/query/results_cf_sorting_integration_spec.rb b/spec/models/query/results_cf_sorting_integration_spec.rb index 28f7e01532db..7957b1b85a9e 100644 --- a/spec/models/query/results_cf_sorting_integration_spec.rb +++ b/spec/models/query/results_cf_sorting_integration_spec.rb @@ -28,15 +28,11 @@ require "spec_helper" -RSpec.describe Query::Results, "Sorting of custom field floats" do +RSpec.describe Query::Results, "Sorting by custom field" do + shared_let(:user) { create(:admin) } + let(:query_results) do - Query::Results.new query - end - let(:user) do - create(:user, - firstname: "user", - lastname: "1", - member_with_permissions: { project => [:view_work_packages] }) + described_class.new query end let(:type) { create(:type_standard, custom_fields: [custom_field]) } @@ -45,22 +41,6 @@ types: [type], work_package_custom_fields: [custom_field]) end - let(:work_package_with_float) do - create(:work_package, - type:, - project:, - custom_values: { custom_field.id => "6.25" }) - end - - let(:work_package_without_float) do - create(:work_package, - type:, - project:) - end - - let(:custom_field) do - create(:float_wp_custom_field, name: "MyFloat") - end let(:query) do build(:query, @@ -74,25 +54,263 @@ before do login_as(user) - work_package_with_float - work_package_without_float end - describe "sorting ASC by float cf" do - let(:sort_criteria) { [[custom_field.column_name, "asc"]] } + def wp_with_cf_value(value) + create(:work_package, type:, project:, custom_values: { custom_field.id => value }) + end + + shared_examples "it sorts" do + let(:work_package_desc) { work_packages.reverse } - it "returns the correctly sorted result" do - expect(query_results.work_packages.pluck(:id)) - .to match [work_package_without_float, work_package_with_float].map(&:id) + before { work_packages } + + context "in ascending order" do + let(:sort_criteria) { [[custom_field.column_name, "asc"], %w[id asc]] } + + it "returns the correctly sorted result" do + expect(query_results.work_packages.map(&:id)) + .to eq work_packages.map(&:id) + end + end + + context "in descending order" do + let(:sort_criteria) { [[custom_field.column_name, "desc"], %w[id asc]] } + + it "returns the correctly sorted result" do + expect(query_results.work_packages.map(&:id)) + .to eq work_package_desc.map(&:id) + end end end - describe "sorting DESC by float cf" do - let(:sort_criteria) { [[custom_field.column_name, "desc"]] } + context "for string format" do + include_examples "it sorts" do + let(:custom_field) { create(:string_wp_custom_field) } + + let(:work_packages) do + [ + create(:work_package, type:, project:), + wp_with_cf_value("16"), + wp_with_cf_value("6.25") + ] + end + end + end + + context "for link format" do + include_examples "it sorts" do + let(:custom_field) { create(:link_wp_custom_field) } + + let(:work_packages) do + [ + create(:work_package, type:, project:), + wp_with_cf_value("https://openproject.org/intro/"), + wp_with_cf_value("https://openproject.org/pricing/") + ] + end + end + end + + context "for int format" do + include_examples "it sorts" do + let(:custom_field) { create(:integer_wp_custom_field) } + + let(:work_packages) do + [ + create(:work_package, type:, project:), + wp_with_cf_value("6"), + wp_with_cf_value("16") + ] + end + end + end + + context "for float format" do + include_examples "it sorts" do + let(:custom_field) { create(:float_wp_custom_field) } + + let(:work_packages) do + [ + create(:work_package, type:, project:), + wp_with_cf_value("6.25"), + wp_with_cf_value("16") + ] + end + end + end + + context "for date format" do + include_examples "it sorts" do + let(:custom_field) { create(:date_wp_custom_field) } + + let(:work_packages) do + [ + create(:work_package, type:, project:), + wp_with_cf_value("2024-01-01"), + wp_with_cf_value("2030-01-01"), + wp_with_cf_value("999-01-01") # TODO: should be at index 1 + ] + end + end + end + + context "for bool format" do + include_examples "it sorts" do + let(:custom_field) { create(:boolean_wp_custom_field) } + + let(:work_packages) do + [ + create(:work_package, type:, project:), + wp_with_cf_value("0"), + wp_with_cf_value("1") + ] + end + end + end + + context "for list format" do + let(:possible_values) { %w[100 3 20] } + let(:id_by_value) { custom_field.possible_values.to_h { [_1.value, _1.id] } } + + context "if not allowing multi select" do + include_examples "it sorts" do + let(:custom_field) { create(:list_wp_custom_field, possible_values:) } + + let(:work_packages) do + [ + # sorting is done by position, and not by value + wp_with_cf_value(id_by_value.fetch("100")), + wp_with_cf_value(id_by_value.fetch("3")), + wp_with_cf_value(id_by_value.fetch("20")), + create(:work_package, type:, project:) # TODO: should be at index 0 + ] + end + end + end + + context "if allowing multi select" do + include_examples "it sorts" do + let(:custom_field) { create(:multi_list_wp_custom_field, possible_values:) } + + let(:work_packages) do + [ + create(:work_package, type:, project:), + # TODO: sorting is done by values sorted by position and joined by `.`, why? + wp_with_cf_value(id_by_value.fetch_values("100")), # => 100 + wp_with_cf_value(id_by_value.fetch_values("20", "100")), # => 100.20 + wp_with_cf_value(id_by_value.fetch_values("3", "100")), # => 100.3 + wp_with_cf_value(id_by_value.fetch_values("100", "3", "20")), # => 100.3.20 + wp_with_cf_value(id_by_value.fetch_values("20")), # => 20 + wp_with_cf_value(id_by_value.fetch_values("3")), # => 3 + wp_with_cf_value(id_by_value.fetch_values("3", "20")) # => 3.20 + ] + end + end + end + end + + context "for user format" do + shared_let(:users) do + [ + create(:user, lastname: "B", firstname: "B", login: "bb1"), + create(:user, lastname: "B", firstname: "B", login: "bb2"), + create(:user, lastname: "B", firstname: "A", login: "ba"), + create(:user, lastname: "A", firstname: "X", login: "ax") + ] + end + shared_let(:id_by_login) { users.to_h { [_1.login, _1.id] } } + + shared_let(:role) { create(:project_role) } + + before do + users.each do |user| + create(:member, project:, principal: user, roles: [role]) + end + end + + context "if not allowing multi select" do + include_examples "it sorts" do + let(:custom_field) { create(:user_wp_custom_field) } + + let(:work_packages) do + [ + wp_with_cf_value(id_by_login.fetch("ax")), + wp_with_cf_value(id_by_login.fetch("ba")), + wp_with_cf_value(id_by_login.fetch("bb1")), + wp_with_cf_value(id_by_login.fetch("bb2")), + create(:work_package, type:, project:) # TODO: should be at index 0 + ] + end + end + end + + context "if allowing multi select" do + include_examples "it sorts" do + let(:custom_field) { create(:multi_user_wp_custom_field) } + + let(:work_packages) do + [ + wp_with_cf_value(id_by_login.fetch_values("ax")), + wp_with_cf_value(id_by_login.fetch_values("ba")), + # TODO: second user is ignored + wp_with_cf_value(id_by_login.fetch_values("bb1", "ba")), + wp_with_cf_value(id_by_login.fetch_values("bb1", "ax")), + create(:work_package, type:, project:) # TODO: should be at index 0 + ] + end + + # TODO: second user is ignored, so order due to falling back on id asc + let(:work_package_desc) { work_packages.values_at(4, 2, 3, 1, 0) } + end + end + end + + context "for version format" do + let(:versions) do + [ + create(:version, project:, sharing: "system", name: "10.10.10"), + create(:version, project:, sharing: "system", name: "10.10.2"), + create(:version, project:, sharing: "system", name: "10.2"), + create(:version, project:, sharing: "system", name: "9") + ] + end + let(:id_by_name) { versions.to_h { [_1.name, _1.id] } } + + context "if not allowing multi select" do + include_examples "it sorts" do + let(:custom_field) { create(:version_wp_custom_field) } + + let(:work_packages) do + [ + wp_with_cf_value(id_by_name.fetch("10.10.10")), + wp_with_cf_value(id_by_name.fetch("10.10.2")), + wp_with_cf_value(id_by_name.fetch("10.2")), + wp_with_cf_value(id_by_name.fetch("9")), + create(:work_package, type:, project:) # TODO: should be at index 0 + ] + end + end + end + + context "if allowing multi select" do + include_examples "it sorts" do + let(:custom_field) { create(:multi_version_wp_custom_field) } + + let(:work_packages) do + [ + wp_with_cf_value(id_by_name.fetch_values("10.10.10")), + wp_with_cf_value(id_by_name.fetch_values("10.10.2")), + # TODO: second version is ignored + wp_with_cf_value(id_by_name.fetch_values("9", "10.10.2")), + wp_with_cf_value(id_by_name.fetch_values("9", "10.10.10")), + create(:work_package, type:, project:) # TODO: should be at index 0 + ] + end - it "returns the correctly sorted result" do - expect(query_results.work_packages.pluck(:id)) - .to match [work_package_with_float, work_package_without_float].map(&:id) + # TODO: second version is ignored, so order due to falling back on id asc + let(:work_package_desc) { work_packages.values_at(4, 2, 3, 1, 0) } + end end end end From acbcb07029e34f6335452c86830ca77a8fcc189d Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Thu, 29 Aug 2024 03:08:53 +0000 Subject: [PATCH 017/147] update locales from crowdin [ci skip] --- config/locales/crowdin/af.yml | 47 +++++-- config/locales/crowdin/ar.yml | 47 +++++-- config/locales/crowdin/az.yml | 47 +++++-- config/locales/crowdin/be.yml | 47 +++++-- config/locales/crowdin/bg.yml | 47 +++++-- config/locales/crowdin/ca.yml | 47 +++++-- config/locales/crowdin/ckb-IR.yml | 47 +++++-- config/locales/crowdin/cs.yml | 95 ++++++++----- config/locales/crowdin/da.yml | 47 +++++-- config/locales/crowdin/de.yml | 47 +++++-- config/locales/crowdin/el.yml | 47 +++++-- config/locales/crowdin/eo.yml | 47 +++++-- config/locales/crowdin/es.yml | 47 +++++-- config/locales/crowdin/et.yml | 47 +++++-- config/locales/crowdin/eu.yml | 47 +++++-- config/locales/crowdin/fa.yml | 47 +++++-- config/locales/crowdin/fi.yml | 47 +++++-- config/locales/crowdin/fil.yml | 47 +++++-- config/locales/crowdin/fr.yml | 47 +++++-- config/locales/crowdin/he.yml | 47 +++++-- config/locales/crowdin/hi.yml | 47 +++++-- config/locales/crowdin/hr.yml | 47 +++++-- config/locales/crowdin/hu.yml | 47 +++++-- config/locales/crowdin/id.yml | 47 +++++-- config/locales/crowdin/it.yml | 47 +++++-- config/locales/crowdin/ja.yml | 47 +++++-- config/locales/crowdin/js-af.yml | 10 +- config/locales/crowdin/js-ar.yml | 14 +- config/locales/crowdin/js-az.yml | 10 +- config/locales/crowdin/js-be.yml | 12 +- config/locales/crowdin/js-bg.yml | 10 +- config/locales/crowdin/js-ca.yml | 10 +- config/locales/crowdin/js-ckb-IR.yml | 10 +- config/locales/crowdin/js-cs.yml | 12 +- config/locales/crowdin/js-da.yml | 10 +- config/locales/crowdin/js-de.yml | 10 +- config/locales/crowdin/js-el.yml | 10 +- config/locales/crowdin/js-eo.yml | 10 +- config/locales/crowdin/js-es.yml | 10 +- config/locales/crowdin/js-et.yml | 10 +- config/locales/crowdin/js-eu.yml | 10 +- config/locales/crowdin/js-fa.yml | 10 +- config/locales/crowdin/js-fi.yml | 10 +- config/locales/crowdin/js-fil.yml | 10 +- config/locales/crowdin/js-fr.yml | 10 +- config/locales/crowdin/js-he.yml | 12 +- config/locales/crowdin/js-hi.yml | 10 +- config/locales/crowdin/js-hr.yml | 11 +- config/locales/crowdin/js-hu.yml | 10 +- config/locales/crowdin/js-id.yml | 9 +- config/locales/crowdin/js-it.yml | 10 +- config/locales/crowdin/js-ja.yml | 9 +- config/locales/crowdin/js-ka.yml | 10 +- config/locales/crowdin/js-kk.yml | 10 +- config/locales/crowdin/js-ko.yml | 9 +- config/locales/crowdin/js-lt.yml | 12 +- config/locales/crowdin/js-lv.yml | 11 +- config/locales/crowdin/js-mn.yml | 10 +- config/locales/crowdin/js-ms.yml | 9 +- config/locales/crowdin/js-ne.yml | 10 +- config/locales/crowdin/js-nl.yml | 10 +- config/locales/crowdin/js-no.yml | 10 +- config/locales/crowdin/js-pl.yml | 12 +- config/locales/crowdin/js-pt-BR.yml | 10 +- config/locales/crowdin/js-pt-PT.yml | 10 +- config/locales/crowdin/js-ro.yml | 11 +- config/locales/crowdin/js-ru.yml | 12 +- config/locales/crowdin/js-rw.yml | 10 +- config/locales/crowdin/js-si.yml | 10 +- config/locales/crowdin/js-sk.yml | 12 +- config/locales/crowdin/js-sl.yml | 12 +- config/locales/crowdin/js-sr.yml | 11 +- config/locales/crowdin/js-sv.yml | 10 +- config/locales/crowdin/js-th.yml | 9 +- config/locales/crowdin/js-tr.yml | 10 +- config/locales/crowdin/js-uk.yml | 12 +- config/locales/crowdin/js-uz.yml | 10 +- config/locales/crowdin/js-vi.yml | 9 +- config/locales/crowdin/js-zh-CN.yml | 9 +- config/locales/crowdin/js-zh-TW.yml | 9 +- config/locales/crowdin/ka.yml | 47 +++++-- config/locales/crowdin/kk.yml | 47 +++++-- config/locales/crowdin/ko.yml | 47 +++++-- config/locales/crowdin/lt.yml | 47 +++++-- config/locales/crowdin/lv.yml | 47 +++++-- config/locales/crowdin/mn.yml | 47 +++++-- config/locales/crowdin/ms.yml | 47 +++++-- config/locales/crowdin/ne.yml | 47 +++++-- config/locales/crowdin/nl.yml | 47 +++++-- config/locales/crowdin/no.yml | 47 +++++-- config/locales/crowdin/pl.yml | 47 +++++-- config/locales/crowdin/pt-BR.yml | 47 +++++-- config/locales/crowdin/pt-PT.yml | 47 +++++-- config/locales/crowdin/ro.yml | 47 +++++-- config/locales/crowdin/ru.yml | 47 +++++-- config/locales/crowdin/rw.yml | 47 +++++-- config/locales/crowdin/si.yml | 47 +++++-- config/locales/crowdin/sk.yml | 47 +++++-- config/locales/crowdin/sl.yml | 47 +++++-- config/locales/crowdin/sr.yml | 47 +++++-- config/locales/crowdin/sv.yml | 47 +++++-- config/locales/crowdin/th.yml | 47 +++++-- config/locales/crowdin/tr.yml | 47 +++++-- config/locales/crowdin/uk.yml | 47 +++++-- config/locales/crowdin/uz.yml | 47 +++++-- config/locales/crowdin/vi.yml | 47 +++++-- config/locales/crowdin/zh-CN.yml | 53 ++++--- config/locales/crowdin/zh-TW.yml | 129 ++++++++++-------- .../config/locales/crowdin/zh-TW.yml | 28 ++-- modules/meeting/config/locales/crowdin/cs.yml | 2 +- .../meeting/config/locales/crowdin/zh-CN.yml | 2 +- .../meeting/config/locales/crowdin/zh-TW.yml | 6 +- .../storages/config/locales/crowdin/cs.yml | 2 +- .../storages/config/locales/crowdin/zh-TW.yml | 2 +- .../config/locales/crowdin/cs.yml | 2 +- 115 files changed, 2430 insertions(+), 846 deletions(-) diff --git a/config/locales/crowdin/af.yml b/config/locales/crowdin/af.yml index 7bce04a742ea..2e44ea426ef8 100644 --- a/config/locales/crowdin/af.yml +++ b/config/locales/crowdin/af.yml @@ -1040,10 +1040,10 @@ af: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1073,15 +1073,17 @@ af: does_not_exist: "Die spesefieke kategorie bestaan nie." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ af: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ af: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Opmerking" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/ar.yml b/config/locales/crowdin/ar.yml index f7e5682a284a..9494864a26f2 100644 --- a/config/locales/crowdin/ar.yml +++ b/config/locales/crowdin/ar.yml @@ -1068,10 +1068,10 @@ ar: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "ليس في تاريخ البدء، وعلى الرغم من أن هذا المطلوب للمعالم." @@ -1101,15 +1101,17 @@ ar: does_not_exist: "الفئة المحددة غير موجودة." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3264,8 +3266,10 @@ ar: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "خصائص مجموعة العمل" setting_work_package_startdate_is_adddate: "استخدام التاريخ الحالي كتاريخ البدء لمجموعات العمل الجديدة" setting_work_packages_projects_export_limit: "حد تصدير حزم العمل / المشاريع" @@ -3652,9 +3656,26 @@ ar: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "تعليق" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/az.yml b/config/locales/crowdin/az.yml index 22404c827720..187327f6e154 100644 --- a/config/locales/crowdin/az.yml +++ b/config/locales/crowdin/az.yml @@ -1040,10 +1040,10 @@ az: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1073,15 +1073,17 @@ az: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ az: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ az: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comment" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/be.yml b/config/locales/crowdin/be.yml index ba92155ff9dd..3a89b5721d57 100644 --- a/config/locales/crowdin/be.yml +++ b/config/locales/crowdin/be.yml @@ -1054,10 +1054,10 @@ be: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1087,15 +1087,17 @@ be: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3192,8 +3194,10 @@ be: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3578,9 +3582,26 @@ be: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comment" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/bg.yml b/config/locales/crowdin/bg.yml index 6b3e2f34cd2c..e449214a6517 100644 --- a/config/locales/crowdin/bg.yml +++ b/config/locales/crowdin/bg.yml @@ -1040,10 +1040,10 @@ bg: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Изисква се, когато е зададена Оставаща работа." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "не е на начална дата, въпреки че това е необходимо за важни събития." @@ -1073,15 +1073,17 @@ bg: does_not_exist: "Определената категория не съществува." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Не може да бъде по-ниско от Оставащата работа." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Не може да бъде по-високо от Работа." - must_be_set_when_work_is_set: "Изисква се, когато е зададена Работа." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "Работният пакет е в състояние само за четене, така че атрибутите му не могат да бъдат променяни." type: attributes: @@ -3118,8 +3120,10 @@ bg: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ bg: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Коментар" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/ca.yml b/config/locales/crowdin/ca.yml index c5a724b2e127..2ca0e9078d98 100644 --- a/config/locales/crowdin/ca.yml +++ b/config/locales/crowdin/ca.yml @@ -1036,10 +1036,10 @@ ca: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "no és la data d'inici, tot i que és necessari per a les fites." @@ -1069,15 +1069,17 @@ ca: does_not_exist: "La categoria especificada no existeix." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "No pot ser inferior al treball restant." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "El paquet de treball està en un estat de només lectura, per això els seus atributs no poden ser modificats." type: attributes: @@ -3107,8 +3109,10 @@ ca: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Propietats de paquet de treball" setting_work_package_startdate_is_adddate: "Utilitzar la data actual com a data d'inici dels paquets de treball nous" setting_work_packages_projects_export_limit: "Límit d'exportació de paquets de treball/projectes" @@ -3491,9 +3495,26 @@ ca: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comentari" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/ckb-IR.yml b/config/locales/crowdin/ckb-IR.yml index 7de33375727a..312b45ca7129 100644 --- a/config/locales/crowdin/ckb-IR.yml +++ b/config/locales/crowdin/ckb-IR.yml @@ -1040,10 +1040,10 @@ ckb-IR: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1073,15 +1073,17 @@ ckb-IR: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ ckb-IR: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ ckb-IR: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comment" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/cs.yml b/config/locales/crowdin/cs.yml index e111687c2550..ec5ed0a63091 100644 --- a/config/locales/crowdin/cs.yml +++ b/config/locales/crowdin/cs.yml @@ -273,7 +273,7 @@ cs: favored: "Oblíbené projekty" archived: "Archivované projekty" shared: "Sdílené seznamy projektů" - my_lists: "My project lists" + my_lists: "Moje seznamy projektů" new: placeholder: "Nový seznam projektů" delete_modal: @@ -496,7 +496,7 @@ cs: is_readonly: "Pouze pro čtení" excluded_from_totals: "Vyloučeno z celkových hodnot" themes: - dark: "Dark (Beta)" + dark: "Tmavý (Beta)" light: "Světlý" light_high_contrast: "Světlý kontrast" types: @@ -729,7 +729,7 @@ cs: is_closed: "Pracovní balíček uzavřen" is_readonly: "Pracovní balíček jen pro čtení" excluded_from_totals: "Exclude from calculation of totals in hierarchy" - default_done_ratio: "% Complete" + default_done_ratio: "% Dokončeno" time_entry: activity: "Aktivita" hours: "Hodiny" @@ -1054,10 +1054,10 @@ cs: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "není v počátečním datu, i když je to nutné pro milníky." @@ -1087,15 +1087,17 @@ cs: does_not_exist: "Zadaná kategorie neexistuje." estimated_hours: not_a_number: "není platná doba trvání." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "není platná doba trvání." - cant_exceed_work: "Nemůže být vyšší než Práce." - must_be_set_when_work_is_set: "Vyžadováno, když je nastavena práce." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "Pracovní balíček je ve stavu jen pro čtení, takže jeho atributy nelze změnit." type: attributes: @@ -1721,7 +1723,7 @@ cs: title: "Export" submit: "Export" format: - label: "File format" + label: "Formát souboru" options: csv: label: "CSV" @@ -1735,28 +1737,28 @@ cs: input_caption_table: "By default all attributes added as columns in the work package list are selected. Long text fields are not available in table based exports." pdf: export_type: - label: "PDF export type" + label: "Typ exportu do PDF" options: table: - label: "Table" + label: "Tabulka" caption: "Export the work packages list in a table with the desired columns." report: label: "Report" caption: "Export the work package on a detailed report of all work packages in the list." gantt: - label: "Gantt chart" + label: "Ganttův diagram" caption: "Export the work packages list in a Gantt diagram view." include_images: - label: "Include images" + label: "Včetně obrázků" caption: "Exclude images to reduce the size of the PDF export." gantt_zoom_levels: - label: "Zoom levels" + label: "Úrovně přiblížení" caption: "Select what is the zoom level for dates displayed in the chart." options: - days: "Days" - weeks: "Weeks" - months: "Months" - quarters: "Quarters" + days: "Dny" + weeks: "Týdny" + months: "Měsíce" + quarters: "Čtvrtletí" column_width: label: "Table column width" options: @@ -2011,7 +2013,7 @@ cs: label_ldap_auth_source_plural: "Připojení LDAP" label_attribute_expand_text: "Úplný text pro '%{attribute}'" label_authentication: "Ověření" - label_authentication_settings: "Authentication settings" + label_authentication_settings: "Nastavení ověření" label_available_global_roles: "Dostupné globální role" label_available_project_attributes: "Dostupné atributy projektu" label_available_project_forums: "Dostupná fóra" @@ -2209,7 +2211,7 @@ cs: label_introduction_video: "Seznamovací video" label_invite_user: "Pozvat uživatele" label_share: "Sdílet" - label_share_project_list: "Share project list" + label_share_project_list: "Sdílet seznam projektů" label_share_work_package: "Sdílet pracovní balíček" label_show_hide: "Zobrazit/skrýt" label_show_hide_n_items: "Show/hide %{count} items" @@ -2306,8 +2308,8 @@ cs: label_next_week: "Příští týden" label_no_change_option: "(Beze změny)" label_no_data: "Žádná data k zobrazení" - label_no_due_date: "no finish date" - label_no_start_date: "no start date" + label_no_due_date: "žádné datum dokončení" + label_no_start_date: "žádné datum začátku" label_no_parent_page: "Žádná nadřazená stránka" label_nothing_display: "Nic k zobrazení" label_nobody: "nikdo" @@ -2433,7 +2435,7 @@ cs: label_role_search: "Přiřadit roli novým členům" label_scm: "SCM" label_search: "Vyhledávání" - label_search_by_name: "Search by name" + label_search_by_name: "Hledat podle názvu" label_send_information: "Poslat nové přihlašovací údaje uživateli" label_send_test_email: "Odeslat testovací email" label_session: "Relace" @@ -2546,7 +2548,7 @@ cs: label_work_package_new: "Nový pracovní balíček" label_work_package_edit: "Upravit pracovní balíček %{name}" label_work_package_plural: "Pracovní balíčky" - label_work_packages_settings: "Work packages settings" + label_work_packages_settings: "Nastavení pracovních balíčků" label_work_package_status: "Stav pracovního balíčku" label_work_package_status_new: "Nový stav" label_work_package_status_plural: "Stav pracovního balíčku" @@ -2892,7 +2894,7 @@ cs: permission_edit_own_messages: "Upravit vlastní zprávy" permission_edit_own_time_entries: "Upravit vlastní časové záznamy" permission_edit_project: "Upravit projekt" - permission_edit_project_attributes: "Edit project attributes" + permission_edit_project_attributes: "Úprava atributů projektu" permission_edit_reportings: "Upravit přehledy" permission_edit_time_entries: "Upravit časové záznamy pro ostatní uživatele" permission_edit_timelines: "Úpravy časové osy" @@ -2943,7 +2945,7 @@ cs: permission_work_package_assigned: "Staňte se řešitelem/odpovědným" permission_work_package_assigned_explanation: "Pracovní balíčky mohou být přiřazeny uživatelům a skupinám, které tuto roli vlastní v příslušném projektu" permission_view_project_activity: "Zobrazit aktivitu projektu" - permission_view_project_attributes: "View project attributes" + permission_view_project_attributes: "Zobrazit atributy projektu" permission_save_bcf_queries: "Uložit dotazy BCF" permission_manage_public_bcf_queries: "Spravovat veřejné dotazy BCF." permission_edit_attribute_help_texts: "Upravit text nápovědy atributu" @@ -3170,9 +3172,9 @@ cs: setting_default_projects_public: "Nové projekty nastavovat jako veřejné" setting_diff_max_lines_displayed: "Maximální počet zobrazených řádků rozdílu" setting_display_subprojects_work_packages: "Automaticky zobrazit úkoly podprojektu v hlavním projektu" - setting_duration_format: "Duration format" - setting_duration_format_hours_only: "Hours only" - setting_duration_format_days_and_hours: "Days and hours" + setting_duration_format: "Formát doby trvání" + setting_duration_format_hours_only: "Pouze hodiny" + setting_duration_format_days_and_hours: "Dny a hodiny" setting_duration_format_instructions: "This defines how Work, Remaining work, and Time spent durations are displayed." setting_emails_footer: "Zápatí emailů" setting_emails_header: "Záhlaví emailů" @@ -3191,8 +3193,10 @@ cs: setting_work_package_done_ratio: "Výpočet průběhu" setting_work_package_done_ratio_field: "Na základě práce" setting_work_package_done_ratio_status: "Na základě stavu" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Vlastnosti pracovního balíčku" setting_work_package_startdate_is_adddate: "Použít aktuální datum jako počáteční datum pro nové úkoly" setting_work_packages_projects_export_limit: "Limit exportu pracovních balíčků / projektů" @@ -3576,9 +3580,26 @@ cs: progress: label_note: "Poznámka:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Komentář" comment_description: "Může zobrazit a komentovat tento pracovní balíček." diff --git a/config/locales/crowdin/da.yml b/config/locales/crowdin/da.yml index 3a60aecb7928..cd069d10f239 100644 --- a/config/locales/crowdin/da.yml +++ b/config/locales/crowdin/da.yml @@ -1038,10 +1038,10 @@ da: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "er ikke på startdato, selvom dette er påkrævet for milepæle." @@ -1071,15 +1071,17 @@ da: does_not_exist: "Den angivne kategori findes ikke." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3114,8 +3116,10 @@ da: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Egenskaber for arbejdspakke" setting_work_package_startdate_is_adddate: "Brug dags dato som start for nye arbejdspakker" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3498,9 +3502,26 @@ da: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Kommentér" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index 6f46536181a8..a883c3319fe0 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -1034,10 +1034,10 @@ de: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "stimmt nicht mit Aufwand und Verbleibender Aufwand überein" - cannot_be_set_when_work_is_zero: "kann nicht eingestellt werden, wenn Aufwand gleich Null ist" - must_be_set_when_remaining_work_is_set: "Ist erforderlich, wenn Verbleibender Aufwand gesetzt ist." - must_be_set_when_work_and_remaining_work_are_set: "Ist erforderlich, wenn Aufwand und Verbleibender Aufwand gesetzt ist." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "muss zwischen 0 und 100 liegen." due_date: not_start_date: "ist nicht identisch mit dem Startdatum, obwohl dies bei Meilensteinen Pflicht ist." @@ -1067,15 +1067,17 @@ de: does_not_exist: "Die angegebene Kategorie existiert nicht." estimated_hours: not_a_number: "ist keine gültige Dauer." - cant_be_inferior_to_remaining_work: "Kann nicht niedriger sein als Verbleibender Aufwand." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Erforderlich, wenn Verbleibender Aufwand und % abgeschlossen eingestellt sind." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "ist keine gültige Dauer." - cant_exceed_work: "Kann nicht größer als der Aufwand sein." - must_be_set_when_work_is_set: "Ist erforderlich, wenn Aufwand gesetzt ist." - must_be_set_when_work_and_percent_complete_are_set: "Erforderlich, wenn Aufwand und % abgeschlossen eingestellt sind." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "Das Arbeitspaket befindet sich in einem schreibgeschützten Status, so dass seine Attribute nicht geändert werden können." type: attributes: @@ -3112,8 +3114,10 @@ de: setting_work_package_done_ratio: "Fortschrittsberechnung" setting_work_package_done_ratio_field: "Arbeitsbezogen" setting_work_package_done_ratio_status: "Statusbezogen" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - Im aufwandsbezogenen Modus wird % Abgeschlossen durch das Verhältnis zu, Gesamtaufwand berechnet. Im statusbezogenen Modus ist mit jedem Status ein fester Wert für % Abgeschlossen verbunden. Wenn Sie den Status ändern, ändert sich dadurch auch das % Abgeschlossen Attribut. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Arbeitspaket-Eigenschaften" setting_work_package_startdate_is_adddate: "Neue Arbeitspakete haben \"Heute\" als Anfangsdatum" setting_work_packages_projects_export_limit: "Arbeitspakete / Exportlimit für Projekte" @@ -3495,9 +3499,26 @@ de: progress: label_note: "Hinweis:" modal: - work_based_help_text: "% Abgeschlossen wird automatisch aus Aufwand und Verbleibender Aufwand abgeleitet." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Abgeschlossen wird durch den Status des Arbeitspakets festgelegt." migration_warning_text: "Im aufwandsbezogenen Modus, kann % Fertig nicht manuell eingegeben werden und ist immer an den Aufwand gebunden. Der vorhandene Wert wurde beibehalten, kann aber nicht bearbeitet werden. Bitte geben Sie zuerst den Wert für Aufwand ein." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Kommentar" comment_description: "Kann dieses Arbeitspaket anzeigen und kommentieren." diff --git a/config/locales/crowdin/el.yml b/config/locales/crowdin/el.yml index ba3d60d18df8..b968ac9a5edc 100644 --- a/config/locales/crowdin/el.yml +++ b/config/locales/crowdin/el.yml @@ -1036,10 +1036,10 @@ el: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "δεν είναι στην ημερομηνία έναρξης, παρόλο που απαιτείται από τα ορόσημα." @@ -1069,15 +1069,17 @@ el: does_not_exist: "Η καθορισμένη κατηγορία δεν υπάρχει." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3113,8 +3115,10 @@ el: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Ιδιότητες πακέτου εργασίας" setting_work_package_startdate_is_adddate: "Χρήση σημερινής ημερομηνίας ως ημερομηνία έναρξης για νέα πακέτα εργασίας" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3496,9 +3500,26 @@ el: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Σχόλιο" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/eo.yml b/config/locales/crowdin/eo.yml index 812e46bcebcb..ace0ab3fc8da 100644 --- a/config/locales/crowdin/eo.yml +++ b/config/locales/crowdin/eo.yml @@ -1040,10 +1040,10 @@ eo: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1073,15 +1073,17 @@ eo: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ eo: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ eo: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Komento" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/es.yml b/config/locales/crowdin/es.yml index 2eebf89af918..d2bec73660ac 100644 --- a/config/locales/crowdin/es.yml +++ b/config/locales/crowdin/es.yml @@ -1037,10 +1037,10 @@ es: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "no coincide el trabajo y el trabajo restante" - cannot_be_set_when_work_is_zero: "no puede fijarse cuando el trabajo es cero" - must_be_set_when_remaining_work_is_set: "Obligatorio cuando el Trabajo restante está establecido." - must_be_set_when_work_and_remaining_work_are_set: "Obligatorio cuando se fijan Trabajo y Trabajo restante." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "debe estar entre 0 y 100." due_date: not_start_date: "no es en fecha de inicio, aunque esto es necesario para hitos." @@ -1070,15 +1070,17 @@ es: does_not_exist: "La categoría especificada no existe." estimated_hours: not_a_number: "no es una duración válida." - cant_be_inferior_to_remaining_work: "No puede ser inferior al Trabajo restante." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Obligatorio cuando se fijan Trabajo restante y % completado." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "no es una duración válida." - cant_exceed_work: "No puede ser superior a Trabajo." - must_be_set_when_work_is_set: "Obligatorio cuando Trabajo está establecido." - must_be_set_when_work_and_percent_complete_are_set: "Obligatorio cuando se fijan Trabajo y % completado." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "El paquete de trabajo está en un estado de sólo lectura por lo que sus atributos no se pueden cambiar." type: attributes: @@ -3114,8 +3116,10 @@ es: setting_work_package_done_ratio: "Cálculo del progreso" setting_work_package_done_ratio_field: "Basado en el trabajo" setting_work_package_done_ratio_status: "Basado en el estado" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - En el modo basado en el trabajo, el % completado se calcula a partir de cuánto trabajo se ha realizado en relación con el trabajo total. En el modo basado en el estado, cada estado tiene asociado un valor de % completado. El cambio de estado modificará el % completado. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Propiedades de paquete de trabajo" setting_work_package_startdate_is_adddate: "Usar fecha actual como fecha de inicio para nuevos paquetes de trabajo" setting_work_packages_projects_export_limit: "Fecha límite para exportar paquete de trabajo o proyectos" @@ -3497,9 +3501,26 @@ es: progress: label_note: "Nota:" modal: - work_based_help_text: "El % completado se obtiene automáticamente a partir del Trabajo y del Trabajo restante." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% completado se establece por el estado del paquete de trabajo." migration_warning_text: "En el modo de cálculo del progreso basado en el trabajo, el % completado no puede fijarse manualmente y está vinculado al Trabajo. El valor existente se mantiene, pero no puede editarse. Introduzca primero el Trabajo." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comentario" comment_description: "Puede ver y comentar este paquete de trabajo." diff --git a/config/locales/crowdin/et.yml b/config/locales/crowdin/et.yml index 4da9ddeff3f8..cc2e4ee8cb00 100644 --- a/config/locales/crowdin/et.yml +++ b/config/locales/crowdin/et.yml @@ -1040,10 +1040,10 @@ et: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "verstapostil on vajalik määrata alguskuupäev." @@ -1073,15 +1073,17 @@ et: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ et: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Teemade atribuudid" setting_work_package_startdate_is_adddate: "Uute teemade alguskuupäevaks käesolev päev" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ et: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Kommentaar" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/eu.yml b/config/locales/crowdin/eu.yml index bf1c5f266aad..8e562c32eeeb 100644 --- a/config/locales/crowdin/eu.yml +++ b/config/locales/crowdin/eu.yml @@ -1040,10 +1040,10 @@ eu: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1073,15 +1073,17 @@ eu: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ eu: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ eu: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comment" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/fa.yml b/config/locales/crowdin/fa.yml index c053e42366b9..3d0398f47c35 100644 --- a/config/locales/crowdin/fa.yml +++ b/config/locales/crowdin/fa.yml @@ -1040,10 +1040,10 @@ fa: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1073,15 +1073,17 @@ fa: does_not_exist: "دسته انتخاب شده وجود ندارد." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ fa: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ fa: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "نظر" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/fi.yml b/config/locales/crowdin/fi.yml index 0af4a6e939dc..391e2249d9da 100644 --- a/config/locales/crowdin/fi.yml +++ b/config/locales/crowdin/fi.yml @@ -1040,10 +1040,10 @@ fi: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "ei ole aloituspäivänä, vaikka välitavoite vaatii sen olevan." @@ -1073,15 +1073,17 @@ fi: does_not_exist: "Määritettyä luokkaa ei ole." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ fi: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Tehtävän ominaisuudet" setting_work_package_startdate_is_adddate: "Käytä nykyistä päivämäärää uuden tehtävän aloistuspäivänä" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ fi: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Kommentti" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/fil.yml b/config/locales/crowdin/fil.yml index 0fc6e2f9a514..2365685dafd2 100644 --- a/config/locales/crowdin/fil.yml +++ b/config/locales/crowdin/fil.yml @@ -1040,10 +1040,10 @@ fil: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "hindi sa petsa ng pagsisimula, kahit naa ito ay kinakailangan para sa mga milestone." @@ -1073,15 +1073,17 @@ fil: does_not_exist: "Ang tinukoy na kategorya ay hindi umiiral." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3116,8 +3118,10 @@ fil: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Ang mga property ng work package" setting_work_package_startdate_is_adddate: "Gamitin ang kasulukuyang petsa bilang pagsisimula ng petsa para sa mga bagong work package" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3500,9 +3504,26 @@ fil: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Komento" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/fr.yml b/config/locales/crowdin/fr.yml index dec27a2ceea8..5638c54d1a0d 100644 --- a/config/locales/crowdin/fr.yml +++ b/config/locales/crowdin/fr.yml @@ -1039,10 +1039,10 @@ fr: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "ne correspond pas au travail et au travail restant" - cannot_be_set_when_work_is_zero: "ne peut pas être défini lorsque le travail est nul" - must_be_set_when_remaining_work_is_set: "Requis lorsque le travail restant est défini." - must_be_set_when_work_and_remaining_work_are_set: "Requis lorsque le travail et les travaux restants sont définis." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "doit être compris entre 0 et 100." due_date: not_start_date: "n'est pas identique à la date de début, bien que cela soit requis pour les jalons." @@ -1072,15 +1072,17 @@ fr: does_not_exist: "La catégorie spécifiée n'existe pas." estimated_hours: not_a_number: "n'est pas une durée valide." - cant_be_inferior_to_remaining_work: "Ne peut être inférieur au Travail restant." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Requis lorsque le travail restant et le % d'achèvement sont définis." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "n'est pas une durée valide." - cant_exceed_work: "Ne peut être supérieur au Travail." - must_be_set_when_work_is_set: "Requis lorsque le Travail est défini." - must_be_set_when_work_and_percent_complete_are_set: "Requis lorsque le travail et le % d'achèvement sont définis." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "Le lot de travaux est en lecture seule, ses attributs ne peuvent donc pas être changés." type: attributes: @@ -3117,8 +3119,10 @@ fr: setting_work_package_done_ratio: "Calcul de la progression" setting_work_package_done_ratio_field: "Basé sur le travail" setting_work_package_done_ratio_status: "Basé sur le statut" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - En mode Basé sur le travail, le % réalisé est calculé à partir de la quantité de travail effectuée par rapport au travail total. En mode Basé sur le statut, chaque statut est associé à une valeur de % réalisé. La modification du statut entraîne une modification du % réalisé. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Propriétés du Lot de Travaux" setting_work_package_startdate_is_adddate: "Utiliser la date actuelle comme date de début des nouveaux lots de travaux" setting_work_packages_projects_export_limit: "Limite d'exportation des lots de travaux/projets" @@ -3500,9 +3504,26 @@ fr: progress: label_note: "Note :" modal: - work_based_help_text: "Le % réalisé est automatiquement dérivé de Travail et Travail restant." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "Le % réalisé est défini par le statut du lot de travaux." migration_warning_text: "Dans le mode de calcul de la progression basé sur le travail, le % réalisé ne peut pas être défini manuellement et est lié au travail. La valeur existante a été conservée mais ne peut pas être modifiée. Veuillez d'abord renseigner Travail." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Commentaire" comment_description: "Peut consulter et commenter ce lot de travaux." diff --git a/config/locales/crowdin/he.yml b/config/locales/crowdin/he.yml index 49fb233eec1e..6b5e3234fab1 100644 --- a/config/locales/crowdin/he.yml +++ b/config/locales/crowdin/he.yml @@ -1054,10 +1054,10 @@ he: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1087,15 +1087,17 @@ he: does_not_exist: "הקטגוריה שצוינה אינה קיימת." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3192,8 +3194,10 @@ he: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3578,9 +3582,26 @@ he: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "תגובה" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/hi.yml b/config/locales/crowdin/hi.yml index 0ce7ad74aafc..ca1cdebb33f3 100644 --- a/config/locales/crowdin/hi.yml +++ b/config/locales/crowdin/hi.yml @@ -1038,10 +1038,10 @@ hi: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1071,15 +1071,17 @@ hi: does_not_exist: "निर्दिष्ट श्रेणी मौजूद नहीं है ।" estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3116,8 +3118,10 @@ hi: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3500,9 +3504,26 @@ hi: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "टिप्पणी" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/hr.yml b/config/locales/crowdin/hr.yml index 7fdf2c0ade16..81c8c1662d5f 100644 --- a/config/locales/crowdin/hr.yml +++ b/config/locales/crowdin/hr.yml @@ -1047,10 +1047,10 @@ hr: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "nije na datum početka, međutim potrebno je za ključne točke." @@ -1080,15 +1080,17 @@ hr: does_not_exist: "Navedena kategorija ne postoji." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3155,8 +3157,10 @@ hr: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Postavke radnih paketa" setting_work_package_startdate_is_adddate: "Koristite današanji datum kao početni datum novih radnih paketa" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3540,9 +3544,26 @@ hr: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Komentar" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/hu.yml b/config/locales/crowdin/hu.yml index 485c31eeb520..375a4168a936 100644 --- a/config/locales/crowdin/hu.yml +++ b/config/locales/crowdin/hu.yml @@ -1037,10 +1037,10 @@ hu: assigned_to: format: "%{message}\n" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "nincs kezdő dátum, ez szükséges a fordulóponthoz." @@ -1070,15 +1070,17 @@ hu: does_not_exist: "A megadott kategória nem létezik." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}\n" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}\n" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "A munkacsomag írásvédett, ezért a tulajdonságai nem módosíthatók." type: attributes: @@ -3114,8 +3116,10 @@ hu: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "feladatcsoport tulajdonságok" setting_work_package_startdate_is_adddate: "Az aktuális dátum használata, mint kezdő dátuma az új feladatcsoportoknak" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3498,9 +3502,26 @@ hu: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Vélemény" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/id.yml b/config/locales/crowdin/id.yml index aefedcd62594..fc6d5d91aa9a 100644 --- a/config/locales/crowdin/id.yml +++ b/config/locales/crowdin/id.yml @@ -1026,10 +1026,10 @@ id: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "tanggal mulai dan berakhir pada milestone harus sama." @@ -1059,15 +1059,17 @@ id: does_not_exist: "Kategori yang dipilih tidak ada." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3070,8 +3072,10 @@ id: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Properti Paket-Penugasan" setting_work_package_startdate_is_adddate: "Gunakan tanggal sekarang untuk start Paket-Penugasan" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3453,9 +3457,26 @@ id: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Komentar" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/it.yml b/config/locales/crowdin/it.yml index a9189e81a727..ab5d960a9014 100644 --- a/config/locales/crowdin/it.yml +++ b/config/locales/crowdin/it.yml @@ -1037,10 +1037,10 @@ it: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "non corrisponde al lavoro e al lavoro residuo" - cannot_be_set_when_work_is_zero: "non può essere impostata quando il lavoro è zero" - must_be_set_when_remaining_work_is_set: "Obbligatorio quando si imposta Lavoro residuo." - must_be_set_when_work_and_remaining_work_are_set: "Obbligatorio quando si impostano Lavoro e Lavoro residuo." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "deve essere compresa tra 0 e 100." due_date: not_start_date: "non è sulla data di inizio, nonostante sia obbligatorio per i traguardi." @@ -1070,15 +1070,17 @@ it: does_not_exist: "La categoria specificata non esiste." estimated_hours: not_a_number: "non è una durata valida." - cant_be_inferior_to_remaining_work: "Non può essere inferiore al Lavoro residuo." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Richiesto quando sono impostate le opzioni Lavoro residuo e % completamento." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "non è una durata valida." - cant_exceed_work: "Non può essere superiore a Lavoro." - must_be_set_when_work_is_set: "Obbligatorio quando è impostato Lavoro." - must_be_set_when_work_and_percent_complete_are_set: "Richiesto quando sono impostate le opzioni Lavoro e % completamento." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "La macro-attività è in uno stato di sola lettura perciò i suoi attributi non possono essere modificati." type: attributes: @@ -3115,8 +3117,10 @@ it: setting_work_package_done_ratio: "Calcolo dei progressi" setting_work_package_done_ratio_field: "Basato sul lavoro" setting_work_package_done_ratio_status: "Basato sullo stato" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - Nella modalità basata sul lavoro, la % di completamento viene calcolata in base alla quantità di lavoro svolto rispetto al lavoro totale. Nella modalità basata sullo stato, a ogni stato è associato un valore di % completamento. La modifica dello stato cambierà la % completamento. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Proprietà della macro-attività" setting_work_package_startdate_is_adddate: "Usa la data corrente come data di inizio per le nuove macro-attività" setting_work_packages_projects_export_limit: "Limite di esportazione di macro-attività/progetti" @@ -3499,9 +3503,26 @@ it: progress: label_note: "Nota:" modal: - work_based_help_text: "La % completamento viene ricavata automaticamente dal lavoro e dal lavoro residuo." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "La % completamento è stabilita dallo stato della macro-attività." migration_warning_text: "Nella modalità di calcolo basata sul lavoro, la % completamento non può essere impostata manualmente ed è legata al lavoro. Il valore esistente è stato mantenuto ma non può essere modificato. Specifica prima il lavoro." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Commentare" comment_description: "Può visualizzare e commentare questa macro-attività." diff --git a/config/locales/crowdin/ja.yml b/config/locales/crowdin/ja.yml index 9ea2a8e2e45c..5f263fc3e1ea 100644 --- a/config/locales/crowdin/ja.yml +++ b/config/locales/crowdin/ja.yml @@ -1029,10 +1029,10 @@ ja: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "は開始日になっていません。これはマイルストーンの場倍、必要である。" @@ -1062,15 +1062,17 @@ ja: does_not_exist: "指定されたカテゴリは存在しません。" estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3077,8 +3079,10 @@ ja: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "項目名" setting_work_package_startdate_is_adddate: "今日の日付を新しいワークパッケージの開始日とする" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3459,9 +3463,26 @@ ja: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "コメント" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/js-af.yml b/config/locales/crowdin/js-af.yml index 51171b86d736..59c8f7063574 100644 --- a/config/locales/crowdin/js-af.yml +++ b/config/locales/crowdin/js-af.yml @@ -138,6 +138,8 @@ af: description_select_work_package: "Kies werkspakket #%{id}" description_subwork_package: "Kind van werkspakket #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ af: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ af: label_create: "Skep" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "Datum" label_date_with_format: "Tik die %{date_attribute} in die volgende formaat: %{format}" label_deactivate: "Deactivate" @@ -1182,6 +1187,9 @@ af: one: "1 dag" other: "%{count} dae" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-ar.yml b/config/locales/crowdin/js-ar.yml index e2689d339bb5..67c66f6142eb 100644 --- a/config/locales/crowdin/js-ar.yml +++ b/config/locales/crowdin/js-ar.yml @@ -138,6 +138,8 @@ ar: description_select_work_package: "اختر مجموعة العمل #%{id}" description_subwork_package: "إنتاج مجموعة العمل #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ ar: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ ar: label_create: "إنشاء" label_create_work_package: "إنشاء حزمة جديدة" label_created_by: "أنشئ بواسطة" + label_current: "current" label_date: "التاريخ" label_date_with_format: "أدخل %{date_attribute} باستخدام التنسيق التالي: %{format}" label_deactivate: "تعطيل" @@ -1194,6 +1199,13 @@ ar: one: "1 يوم" other: "%{count} يوم" zero: "0 days" + word: + zero: "%{count} words" + one: "1 word" + two: "%{count} words" + few: "%{count} words" + many: "%{count} words" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-az.yml b/config/locales/crowdin/js-az.yml index b1be89ad35de..2e0ab9648773 100644 --- a/config/locales/crowdin/js-az.yml +++ b/config/locales/crowdin/js-az.yml @@ -138,6 +138,8 @@ az: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ az: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ az: label_create: "Create" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "Date" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Söndür" @@ -1182,6 +1187,9 @@ az: one: "1 day" other: "%{count} days" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-be.yml b/config/locales/crowdin/js-be.yml index 29a6fea761ea..8d0243e24336 100644 --- a/config/locales/crowdin/js-be.yml +++ b/config/locales/crowdin/js-be.yml @@ -138,6 +138,8 @@ be: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ be: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ be: label_create: "Create" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "Дата" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Deactivate" @@ -1188,6 +1193,11 @@ be: one: "1 day" other: "%{count} days" zero: "0 days" + word: + one: "1 word" + few: "%{count} words" + many: "%{count} words" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-bg.yml b/config/locales/crowdin/js-bg.yml index a9fed73b3646..a776d0e9eece 100644 --- a/config/locales/crowdin/js-bg.yml +++ b/config/locales/crowdin/js-bg.yml @@ -138,6 +138,8 @@ bg: description_select_work_package: "Избери работен пакет #%{id}" description_subwork_package: "Подработен пакет #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ bg: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ bg: label_create: "Създаване" label_create_work_package: "Създаване на нов работен пакет" label_created_by: "Created by" + label_current: "current" label_date: "Дата" label_date_with_format: "Въведете %{date_attribute}, като използвате следния формат: %{format}" label_deactivate: "Деактивирай" @@ -1182,6 +1187,9 @@ bg: one: "1 ден" other: "%{count} дни" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-ca.yml b/config/locales/crowdin/js-ca.yml index f21ff37aeb0f..748575e1696a 100644 --- a/config/locales/crowdin/js-ca.yml +++ b/config/locales/crowdin/js-ca.yml @@ -138,6 +138,8 @@ ca: description_select_work_package: "Selecciona el paquet de treball #%{id}" description_subwork_package: "Fill del paquet de treball #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Canvia al mode de vista prèvia" source_code: "Canvia al mode de font Markdown" error_saving_failed: "No s'ha pogut guardar el document per culpa del següent error: %{error}" @@ -276,8 +278,10 @@ ca: Els canvis poden tardar un temps a ser aplicats. Et notificarem un cop s'hagin actualitzat tots els paquets de treball rellevants. Estàs segur que vols continuar? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ ca: label_create: "Crear" label_create_work_package: "Crear nou paquet de treball" label_created_by: "Creat per" + label_current: "current" label_date: "Data" label_date_with_format: "Introdueix el %{date_attribute} amb el format següent: %{format}" label_deactivate: "Desactivar" @@ -1182,6 +1187,9 @@ ca: one: "1 dia" other: "%{count} dies" zero: "0 dies" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activa el mode zen" button_deactivate: "Desactiva el mode zen" diff --git a/config/locales/crowdin/js-ckb-IR.yml b/config/locales/crowdin/js-ckb-IR.yml index 97b05d7c9cd7..7d3a413846e8 100644 --- a/config/locales/crowdin/js-ckb-IR.yml +++ b/config/locales/crowdin/js-ckb-IR.yml @@ -138,6 +138,8 @@ ckb-IR: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ ckb-IR: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ ckb-IR: label_create: "Create" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "Date" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Deactivate" @@ -1182,6 +1187,9 @@ ckb-IR: one: "1 day" other: "%{count} days" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-cs.yml b/config/locales/crowdin/js-cs.yml index bce3f5cf525e..d27f8ecf91f6 100644 --- a/config/locales/crowdin/js-cs.yml +++ b/config/locales/crowdin/js-cs.yml @@ -138,6 +138,8 @@ cs: description_select_work_package: "Vyberte pracovní balíček #%{id}" description_subwork_package: "Podřazený pracovního balíčku #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Přepnout režim náhledu" source_code: "Přepnout zdrojový mód Markdown" error_saving_failed: "Uložení dokumentu se nezdařilo s následující chybou: %{error}" @@ -275,8 +277,10 @@ cs: warning: > work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -397,6 +401,7 @@ cs: label_create: "Vytvořit" label_create_work_package: "Vytvořit nový pracovní balíček" label_created_by: "Vytvořil(a)" + label_current: "current" label_date: "Datum" label_date_with_format: "Zadejte %{date_attribute} v následujícím formátu: %{format}" label_deactivate: "Deaktivovat" @@ -1187,6 +1192,11 @@ cs: one: "1 den" other: "%{count} dní" zero: "0 dní" + word: + one: "1 word" + few: "%{count} words" + many: "%{count} words" + other: "%{count} words" zen_mode: button_activate: "Aktivovat zen režim" button_deactivate: "Deaktivovat zen režim" diff --git a/config/locales/crowdin/js-da.yml b/config/locales/crowdin/js-da.yml index 18ff291e892e..6e34ff7e00a8 100644 --- a/config/locales/crowdin/js-da.yml +++ b/config/locales/crowdin/js-da.yml @@ -138,6 +138,8 @@ da: description_select_work_package: "Vælg arbejds pakke #%{id}" description_subwork_package: "Barn af arbejds-pakke #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle forhåndsvisning" source_code: "Toggle Markdown kilde-visning" error_saving_failed: "Lagring af dokumentet mislykkedes med følgende fejl: %{error}" @@ -275,8 +277,10 @@ da: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -397,6 +401,7 @@ da: label_create: "Opret" label_create_work_package: "Opret ny arbejdspakke" label_created_by: "Created by" + label_current: "current" label_date: "Dato" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Deaktivér" @@ -1181,6 +1186,9 @@ da: one: "1 dag" other: "%{count} dage" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-de.yml b/config/locales/crowdin/js-de.yml index b0d2329a8172..d0ec8e4711fc 100644 --- a/config/locales/crowdin/js-de.yml +++ b/config/locales/crowdin/js-de.yml @@ -138,6 +138,8 @@ de: description_select_work_package: "Arbeitspaket #%{id} auswählen" description_subwork_package: "Kind von Arbeitspaket #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Vorschau-Modus ein/aus" source_code: "Wechseln zwischen Markdown-Source und WYSIWYG" error_saving_failed: "Fehler beim Speichern des Dokuments: %{error}" @@ -275,8 +277,10 @@ de: Es kann einige Zeit dauern, bis die Änderungen wirksam werden. Sie werden benachrichtigt, wenn alle relevanten Arbeitspakete aktualisiert worden sind. Sind Sie sicher, dass Sie fortfahren möchten? work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - Wenn Sie den Modus der Fortschrittsberechnung von statusbezogen auf aufwandsbezogen ändern, wird % Abgeschlossen zu einem nicht editierbaren Feld, dessen Wert von Aufwand und Verbleibender Aufwand abgeleitet wird. Vorhandene Werte für % Abgeschlossen werden beibehalten. Wenn die Werte für Aufwand und Verbleibender Aufwand nicht vorhanden waren, werden sie benötigt, um % Abgeschlossen zu ändern. + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Wenn Sie den Modus der Fortschrittsberechnung von aufwandsbezogen auf statusbezogen ändern, gehen alle bestehenden Werte für % Fertigstellung verloren und werden durch Werte ersetzt, die mit dem jeweiligen Status verbunden sind. Bestehende Werte für Verbleibender Aufwand können ebenfalls neu berechnet werden, um diese Änderung widerzuspiegeln. Diese Aktion ist nicht umkehrbar. custom_actions: @@ -397,6 +401,7 @@ de: label_create: "Erstellen" label_create_work_package: "Erstelle neues Arbeitspaket" label_created_by: "Erstellt von" + label_current: "current" label_date: "Datum" label_date_with_format: "Die %{date_attribute} im folgenden Format eingeben: %{format}" label_deactivate: "Deaktiviere" @@ -1181,6 +1186,9 @@ de: one: "1 Tag" other: "%{count} Tage" zero: "0 Tage" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Zen-Modus aktivieren" button_deactivate: "Zen-Modus deaktivieren" diff --git a/config/locales/crowdin/js-el.yml b/config/locales/crowdin/js-el.yml index ee2cce95fc3a..36994192495f 100644 --- a/config/locales/crowdin/js-el.yml +++ b/config/locales/crowdin/js-el.yml @@ -138,6 +138,8 @@ el: description_select_work_package: "Επιλέξτε πακέτο εργασίας #%{id}" description_subwork_package: "Παιδί του πακέτου εργασίας #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Ενεργοποίηση λειτουργίας προεπισκόπησης" source_code: "Ενεργοποίηση λειτουργίας Markdown source" error_saving_failed: "Η αποθήκευση του αρχείου απέτυχε δίνοντας το ακόλουθο μήνυμα: %{error}" @@ -275,8 +277,10 @@ el: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -397,6 +401,7 @@ el: label_create: "Δημιουργία" label_create_work_package: "Δημιουργήστε νέο πακέτο εργασίας" label_created_by: "Δημιουργήθηκε από" + label_current: "current" label_date: "Ημερομηνία" label_date_with_format: "Εισάγετε την %{date_attribute} χρησιμοποιώντας την ακόλουθη μορφοποίηση: %{format}" label_deactivate: "Απενεργοποίηση" @@ -1181,6 +1186,9 @@ el: one: "1 ημέρα" other: "%{count} ημέρες" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Ενεργοποίηση λειτουργίας zen" button_deactivate: "Απενεργοποίηση λειτουργίας zen" diff --git a/config/locales/crowdin/js-eo.yml b/config/locales/crowdin/js-eo.yml index 167ba8baa574..6db7e9189022 100644 --- a/config/locales/crowdin/js-eo.yml +++ b/config/locales/crowdin/js-eo.yml @@ -138,6 +138,8 @@ eo: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Baskuligi antaŭrigarda reĝimo" source_code: "Baskuligi Markdown fonta reĝimo" error_saving_failed: "Ne eblis konservi la dokumenton pro la jena eraro: %{error}" @@ -276,8 +278,10 @@ eo: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ eo: label_create: "Krei" label_create_work_package: "Create new work package" label_created_by: "Kreita de" + label_current: "current" label_date: "Dato" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Malaktivigi" @@ -1182,6 +1187,9 @@ eo: one: "1 tago" other: "%{count} tagoj" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Aktivigi zen reĝimo" button_deactivate: "Malaktivigi zen reĝimo" diff --git a/config/locales/crowdin/js-es.yml b/config/locales/crowdin/js-es.yml index 93758bdaaee0..1804c45121fb 100644 --- a/config/locales/crowdin/js-es.yml +++ b/config/locales/crowdin/js-es.yml @@ -138,6 +138,8 @@ es: description_select_work_package: "Seleccione el paquete de trabajo #%{id}" description_subwork_package: "Seleccione el paquete de trabajo #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Activar modo de vista previa" source_code: "Activar modo de visualización Markdown" error_saving_failed: "No se pudo guardar el documento debido al siguiente error: %{error}" @@ -276,8 +278,10 @@ es: Los cambios pueden tardar algún tiempo en surtir efecto. Se le notificará cuando todos los paquetes de trabajo relevantes hayan sido actualizados. ¿Está seguro de que desea continuar? work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - Cambiar el modo de cálculo del progreso de basado en el estado a basado en el trabajo hará que % completado sea un campo no editable cuyo valor se deriva de Trabajo y Trabajo restante. Los valores existentes para % completado se conservan. Si los valores para Trabajo y Trabajo restante no estaban presentes, serán necesarios para cambiar % completado. + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- El cambio del modo de cálculo del progreso de basado en el trabajo a basado en el estado hará que todos los valores existentes de % completado se pierdan y se sustituyan por valores asociados a cada estado. Los valores existentes para Trabajo restante también pueden recalcularse para reflejar este cambio. Esta acción no es reversible. custom_actions: @@ -398,6 +402,7 @@ es: label_create: "Crear" label_create_work_package: "Crear un nuevo paquete de trabajo" label_created_by: "Creado por" + label_current: "current" label_date: "Fecha" label_date_with_format: "Introduzca el %{date_attribute} usando el siguiente formato: %{format}" label_deactivate: "Desactivar" @@ -1182,6 +1187,9 @@ es: one: "1 día" other: "%{count} días" zero: "0 días" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activar modo zen" button_deactivate: "Desactivar modo zen" diff --git a/config/locales/crowdin/js-et.yml b/config/locales/crowdin/js-et.yml index e9bf7a10f2aa..bcaaf4d917fb 100644 --- a/config/locales/crowdin/js-et.yml +++ b/config/locales/crowdin/js-et.yml @@ -138,6 +138,8 @@ et: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ et: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ et: label_create: "Loo uus" label_create_work_package: "Lisa uus teema" label_created_by: "Created by" + label_current: "current" label_date: "Kuupäev" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Deactivate" @@ -1182,6 +1187,9 @@ et: one: "1 päev" other: "%{count} päeva" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-eu.yml b/config/locales/crowdin/js-eu.yml index ad04877e8d6d..e09f597ca49a 100644 --- a/config/locales/crowdin/js-eu.yml +++ b/config/locales/crowdin/js-eu.yml @@ -138,6 +138,8 @@ eu: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ eu: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ eu: label_create: "Create" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "Date" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Deactivate" @@ -1182,6 +1187,9 @@ eu: one: "1 day" other: "%{count} days" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-fa.yml b/config/locales/crowdin/js-fa.yml index aec2cd41c730..85dac0af3395 100644 --- a/config/locales/crowdin/js-fa.yml +++ b/config/locales/crowdin/js-fa.yml @@ -138,6 +138,8 @@ fa: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "ذخیره سازی مستند، ناموفق بود، خطا: %{error}" @@ -276,8 +278,10 @@ fa: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ fa: label_create: "ایجاد" label_create_work_package: "Create new work package" label_created_by: "ایجاد شده توسط" + label_current: "current" label_date: "تاریخ" label_date_with_format: "%{date_attribute} را با این فرمت وارد کنید: %{format}" label_deactivate: "غیر فعال کردن" @@ -1182,6 +1187,9 @@ fa: one: "1 day" other: "%{count} روز" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-fi.yml b/config/locales/crowdin/js-fi.yml index 1c29ae6593b4..cb6e9c4d76a5 100644 --- a/config/locales/crowdin/js-fi.yml +++ b/config/locales/crowdin/js-fi.yml @@ -138,6 +138,8 @@ fi: description_select_work_package: "Valitse tehtävä #%{id}" description_subwork_package: "Tehtävän #%{id} alitehtävä" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Esikatselutila" source_code: "Lähdekoodi" error_saving_failed: "Tallennus epäonnistui: %{error}" @@ -276,8 +278,10 @@ fi: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ fi: label_create: "Uusi" label_create_work_package: "Uusi tehtävä" label_created_by: "Luonut" + label_current: "current" label_date: "Päivämäärä" label_date_with_format: "Kirjoita %{date_attribute} seuraavassa muodossa: %{format}" label_deactivate: "Poistaa käytöstä" @@ -1182,6 +1187,9 @@ fi: one: "päivä" other: "%{count} päivää" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Koko näyttö" button_deactivate: "Sulje koko näyttö" diff --git a/config/locales/crowdin/js-fil.yml b/config/locales/crowdin/js-fil.yml index 921993122e3e..02c377429a92 100644 --- a/config/locales/crowdin/js-fil.yml +++ b/config/locales/crowdin/js-fil.yml @@ -138,6 +138,8 @@ fil: description_select_work_package: "Piliin ang work package #%{id}" description_subwork_package: "Bata ng work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ fil: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ fil: label_create: "Lumikha" label_create_work_package: "Lumikha ng bagong work package" label_created_by: "Nilikha ni" + label_current: "current" label_date: "Petsa" label_date_with_format: "Ipasok anv %{date_attribute} gamit ang sumusunod na format: %{format}" label_deactivate: "I-deactivate" @@ -1182,6 +1187,9 @@ fil: one: "Isang araw" other: "mga Isang %{count} araw" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "I-aktibo ang zen mode" button_deactivate: "I-deactive ang zen mode" diff --git a/config/locales/crowdin/js-fr.yml b/config/locales/crowdin/js-fr.yml index 0a7bcdda7388..0952189c86a9 100644 --- a/config/locales/crowdin/js-fr.yml +++ b/config/locales/crowdin/js-fr.yml @@ -138,6 +138,8 @@ fr: description_select_work_package: "Sélectionner le lot de travaux #%{id}" description_subwork_package: "Enfant du lot de travaux #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Basculer en mode aperçu" source_code: "Basculer en mode source Markdown" error_saving_failed: "L'enregistrement du document a échoué en raison de l'erreur suivante : %{error}" @@ -276,8 +278,10 @@ fr: Les modifications pourraient prendre un certain temps pour être appliquées. Vous serez averti(e) lorsque tous les lots de travaux pertinents auront été mis à jour. Voulez-vous continuer ? work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - Passer du mode de calcul de la progression basé sur le statut au mode basé sur le travail transformera % réalisé en champ non modifiable dont la valeur est dérivée des champs Travail et Travail restant. Les valeurs existantes pour % réalisé sont conservées. Des valeurs pour Travail et Travail restant sont requises pour modifier % réalisé. + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Passer du mode de calcul de la progression basé sur le travail au mode basé sur le statut entraînera la perte de toutes les valeurs de % réalisé existantes et leur remplacement par les valeurs associées à chaque statut. Les valeurs existantes pour Travail restant peuvent également être recalculées pour refléter ce changement. Cette action est irréversible. custom_actions: @@ -398,6 +402,7 @@ fr: label_create: "Créer" label_create_work_package: "Créer un nouveau lot de travaux" label_created_by: "Créé par" + label_current: "current" label_date: "date" label_date_with_format: "Saisissez l'attribut %{date_attribute} en utilisant le format suivant : %{format}" label_deactivate: "Désactiver" @@ -1182,6 +1187,9 @@ fr: one: "1 jour" other: "%{count} jours" zero: "0 jour" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activer le mode zen" button_deactivate: "Désactiver le mode zen" diff --git a/config/locales/crowdin/js-he.yml b/config/locales/crowdin/js-he.yml index 6d1dc6089e38..56d938579d5d 100644 --- a/config/locales/crowdin/js-he.yml +++ b/config/locales/crowdin/js-he.yml @@ -138,6 +138,8 @@ he: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ he: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ he: label_create: "צור" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "תאריך" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "השבת" @@ -1188,6 +1193,11 @@ he: one: "יום אחד" other: "%{count} ימים" zero: "0 days" + word: + one: "1 word" + two: "%{count} words" + many: "%{count} words" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-hi.yml b/config/locales/crowdin/js-hi.yml index 080b3c2c4760..789b8e4a0e36 100644 --- a/config/locales/crowdin/js-hi.yml +++ b/config/locales/crowdin/js-hi.yml @@ -138,6 +138,8 @@ hi: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Markdown स्रोत मोड टॉगल करें" error_saving_failed: "दस्तावेज़ को सहेजना निम्न त्रुटि के साथ विफल हुआ: %{error}" @@ -276,8 +278,10 @@ hi: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ hi: label_create: "रचना करें" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "तिथि" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "निष्क्रिय करें" @@ -1182,6 +1187,9 @@ hi: one: "1 दिन" other: "%{count} days" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-hr.yml b/config/locales/crowdin/js-hr.yml index f5f498fc1d16..0a79c465a4d4 100644 --- a/config/locales/crowdin/js-hr.yml +++ b/config/locales/crowdin/js-hr.yml @@ -138,6 +138,8 @@ hr: description_select_work_package: "Odaberite radni paket #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ hr: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ hr: label_create: "Stvori" label_create_work_package: "Kreirajte novi radni paket" label_created_by: "Kreirao korisnik" + label_current: "current" label_date: "Datum" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Deaktivirajte" @@ -1185,6 +1190,10 @@ hr: one: "1 dan" other: "%{count} dana" zero: "0 days" + word: + one: "1 word" + few: "%{count} words" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-hu.yml b/config/locales/crowdin/js-hu.yml index 051f82fc470f..7ff296cf1146 100644 --- a/config/locales/crowdin/js-hu.yml +++ b/config/locales/crowdin/js-hu.yml @@ -138,6 +138,8 @@ hu: description_select_work_package: "Munkacsomag kiválasztás #%{id}" description_subwork_package: "Munkacsomag gyermeke #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Váltás az előnézeti módra" source_code: "Váltás Markdown forrás módra" error_saving_failed: "A dokumentum mentése a következő hiba miatt nem sikerült: %{error}" @@ -276,8 +278,10 @@ hu: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ hu: label_create: "Létrehoz" label_create_work_package: "Új munkacsomag létrehozása" label_created_by: "Létrehozta" + label_current: "current" label_date: "dátum" label_date_with_format: "Adja meg a %{date_attribute}, a következő formátumban: %{format}" label_deactivate: "Kikapcsol" @@ -1182,6 +1187,9 @@ hu: one: "1 nap" other: "%{count} nap" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Zen mód aktiválása" button_deactivate: "Zen mód kikapcsolása" diff --git a/config/locales/crowdin/js-id.yml b/config/locales/crowdin/js-id.yml index 886d19f0c34d..55f9a40004f1 100644 --- a/config/locales/crowdin/js-id.yml +++ b/config/locales/crowdin/js-id.yml @@ -138,6 +138,8 @@ id: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Beralih ke mode preview" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ id: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ id: label_create: "Buat baru" label_create_work_package: "Buat Paket-Penugasan baru" label_created_by: "Created by" + label_current: "current" label_date: "Tanggal" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Nonaktifkan" @@ -1179,6 +1184,8 @@ id: one: "1 day" other: "%{count} hari" zero: "0 days" + word: + other: "%{count} words" zen_mode: button_activate: "Mengaktifkan modus zen" button_deactivate: "Menonaktifkan modus zen" diff --git a/config/locales/crowdin/js-it.yml b/config/locales/crowdin/js-it.yml index d332e70d53a5..8b17fd570f46 100644 --- a/config/locales/crowdin/js-it.yml +++ b/config/locales/crowdin/js-it.yml @@ -138,6 +138,8 @@ it: description_select_work_package: "Seleziona la macro-attività #%{id}" description_subwork_package: "Subordinata alla macro-attività #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Attiva/disattiva modalità anteprima" source_code: "Attiva/Disattiva modalità origine Marcatura" error_saving_failed: "Il salvataggio del documento è fallito con il seguente errore: %{error}" @@ -276,8 +278,10 @@ it: L'applicazione delle modifiche potrebbe richiedere del tempo. Riceverai una notifica quando tutti i pacchetti di lavoro pertinenti saranno aggiornati. Vuoi davvero continuare? work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - Cambiare la modalità di calcolo dell'avanzamento da basata sullo stato a basata su lavoro renderà % Completa un campo non modificabile il cui valore è derivato da Lavoro e Lavoro rimanente. I valori esistenti per % Complete sono conservati. Se i valori per Lavoro e Lavoro rimanente non erano presenti, saranno necessari per modificare % Complete. + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Cambiando la modalità di calcolo dell'avanzamento da basata sul lavoro a basata sullo stato porvocherà la perdita di tutti i valori % Complete esistenti e saranno sostituiti con i valori associati ad ogni stato. I valori esistenti per il lavoro rimanente potrebbero anche essere ricalcolati per riflettere questo cambiamento. Questa azione non è reversibile. custom_actions: @@ -398,6 +402,7 @@ it: label_create: "Crea" label_create_work_package: "Crea una nuova macro-attività" label_created_by: "Creato da" + label_current: "current" label_date: "Data" label_date_with_format: "Immettere il %{date_attribute} utilizzando il seguente formato: %{format}" label_deactivate: "Disattivare" @@ -1182,6 +1187,9 @@ it: one: "1 giorno" other: "%{count} giorni" zero: "0 giorni" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Attiva modalità zen" button_deactivate: "Disattiva modalità zen" diff --git a/config/locales/crowdin/js-ja.yml b/config/locales/crowdin/js-ja.yml index efe8fab1c711..c3e4953bf501 100644 --- a/config/locales/crowdin/js-ja.yml +++ b/config/locales/crowdin/js-ja.yml @@ -139,6 +139,8 @@ ja: description_select_work_package: "作業項目を選択 #%{id}" description_subwork_package: "作業項目の子 #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "プレビューモードの切り替え" source_code: "Markdown ソースモードの切り替え" error_saving_failed: "次のエラーで文書を保存するのに失敗しました: %{error}" @@ -277,8 +279,10 @@ ja: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -399,6 +403,7 @@ ja: label_create: "作成" label_create_work_package: "新しいワークパッケージを作成" label_created_by: "作成者:" + label_current: "current" label_date: "日付" label_date_with_format: "次の形式を使用して %{date_attribute} を入力してください: %{format}" label_deactivate: "無効" @@ -1180,6 +1185,8 @@ ja: one: "1 day" other: "%{count}日間" zero: "0 days" + word: + other: "%{count} words" zen_mode: button_activate: "マナーモードをアクティブにする" button_deactivate: "マナーモードを非アクティブにする" diff --git a/config/locales/crowdin/js-ka.yml b/config/locales/crowdin/js-ka.yml index 98c54102bc8a..233ff758bde0 100644 --- a/config/locales/crowdin/js-ka.yml +++ b/config/locales/crowdin/js-ka.yml @@ -138,6 +138,8 @@ ka: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ ka: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ ka: label_create: "შექმნა" label_create_work_package: "Create new work package" label_created_by: "ავტორი" + label_current: "current" label_date: "თარიღი" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "დეაქტივაცია" @@ -1182,6 +1187,9 @@ ka: one: "1 დღე" other: "%{count} დღე" zero: "0 დღე" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-kk.yml b/config/locales/crowdin/js-kk.yml index 5a85236462d0..49aa639d5b3e 100644 --- a/config/locales/crowdin/js-kk.yml +++ b/config/locales/crowdin/js-kk.yml @@ -138,6 +138,8 @@ kk: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ kk: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ kk: label_create: "Create" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "Date" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Deactivate" @@ -1182,6 +1187,9 @@ kk: one: "1 day" other: "%{count} days" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-ko.yml b/config/locales/crowdin/js-ko.yml index 6139005fa515..de00872f4943 100644 --- a/config/locales/crowdin/js-ko.yml +++ b/config/locales/crowdin/js-ko.yml @@ -138,6 +138,8 @@ ko: description_select_work_package: "작업 패키지 #%{id} 선택" description_subwork_package: "작업 패키지 #%{id}의 자식" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "미리 보기 모드 토글" source_code: "Markdown 소스 모드 토글" error_saving_failed: "다음 오류로 인해 문서를 저장하지 못했습니다: %{error}" @@ -276,8 +278,10 @@ ko: 변경 사항이 적용되는 데 시간이 걸릴 수 있습니다. 모든 관련 작업 패키지가 업데이트되면 알림이 전송됩니다. 계속하시겠습니까? work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - 진행률 계산 모드를 상태 기반에서 작업 기반으로 변경하면 완료 %가 편집할 수 없는 필드가 되며 해당 값은 작업남은 작업에서 파생됩니다. 완료 %의 기존 값은 유지됩니다. 작업남은 작업의 값이 없는 경우, 완료 %를 변경하려면 해당 값이 필요합니다. + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- 진행률 계산 모드를 작업 기반에서 상태 기반으로 변경하면 기존의 모든 완료 % 값이 손실되고 각 상태와 관련된 값으로 대체됩니다. 남은 작업의 기존 값도 이 변경 사항을 반영하기 위해 다시 계산될 수 있습니다. 이 작업은 되돌릴 수 없습니다. custom_actions: @@ -398,6 +402,7 @@ ko: label_create: "만들기" label_create_work_package: "새 작업 패키지 만들기" label_created_by: "작성자" + label_current: "current" label_date: "날짜" label_date_with_format: "%{date_attribute} 는 %{format} 과 같이 입력되어야 합니다." label_deactivate: "비활성화" @@ -1179,6 +1184,8 @@ ko: one: "1일" other: "%{count}일" zero: "0일" + word: + other: "%{count} words" zen_mode: button_activate: "Zen 모드 활성화" button_deactivate: "Zen 모드 비활성화" diff --git a/config/locales/crowdin/js-lt.yml b/config/locales/crowdin/js-lt.yml index 5121b4a7050e..9acf538d97a2 100644 --- a/config/locales/crowdin/js-lt.yml +++ b/config/locales/crowdin/js-lt.yml @@ -138,6 +138,8 @@ lt: description_select_work_package: "Pasirinkite darbų paketą #%{id}" description_subwork_package: "Darbų paketo vaikas #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Perjungti peržiūros režimą" source_code: "Perjungti Markdown išeities kodo režimą" error_saving_failed: "Dokumento išsaugoti nepavyko. Klaida: %{error}" @@ -276,8 +278,10 @@ lt: Pakeitimų įsigaliojimas gali užtrukti. Jums bus pranešta, kai visi susiję darbo paketai bus atnaujinti. Ar tikrai norite tęsti? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ lt: label_create: "Kurti" label_create_work_package: "Kurti naują darbų paketą" label_created_by: "Sukūrė" + label_current: "current" label_date: "Data" label_date_with_format: "Įveskite %{date_attribute} naudodami šį formatą: %{format}" label_deactivate: "Išjungti" @@ -1188,6 +1193,11 @@ lt: one: "1 dieną" other: "%{count} dienas (-ą, -ų)" zero: "0 dienų" + word: + one: "1 word" + few: "%{count} words" + many: "%{count} words" + other: "%{count} words" zen_mode: button_activate: "Įjungti Zen režimą" button_deactivate: "Išjungti Zen režimą" diff --git a/config/locales/crowdin/js-lv.yml b/config/locales/crowdin/js-lv.yml index 9440bab5a8c9..8275a54e8493 100644 --- a/config/locales/crowdin/js-lv.yml +++ b/config/locales/crowdin/js-lv.yml @@ -138,6 +138,8 @@ lv: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ lv: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ lv: label_create: "Izveidot" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "Datums" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Deaktivizēt" @@ -1185,6 +1190,10 @@ lv: one: "1 dienas" other: "%{count} dienām" zero: "0 days" + word: + zero: "%{count} words" + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-mn.yml b/config/locales/crowdin/js-mn.yml index 99190a800ba7..ebfa0c211315 100644 --- a/config/locales/crowdin/js-mn.yml +++ b/config/locales/crowdin/js-mn.yml @@ -138,6 +138,8 @@ mn: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ mn: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ mn: label_create: "Create" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "Date" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Deactivate" @@ -1182,6 +1187,9 @@ mn: one: "1 day" other: "%{count} days" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-ms.yml b/config/locales/crowdin/js-ms.yml index a97e1ac6b8f6..215adb82447a 100644 --- a/config/locales/crowdin/js-ms.yml +++ b/config/locales/crowdin/js-ms.yml @@ -138,6 +138,8 @@ ms: description_select_work_package: "Pilih pakej kerja #%{id}" description_subwork_package: "Anak kepada pakej kerja #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Tukar mod tinjauan" source_code: "Tukar mod sumber Markdown" error_saving_failed: "Penyimpanan dokumen gagal dengan ralat yang berikut: %{error}" @@ -276,8 +278,10 @@ ms: Perubahan mungkin mengambil sedikit masa untuk berkesan. Anda akan dimaklumkan apabila semua pakej kerja yang berkaitan telah dikemas kini. Adakah anda pasti anda ingin teruskan? work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - Mengubah mod pengiraan perkembangan daripada berdasarkan-status kepada berdasarkan-kerja akan menjadikan % Selesai ruang yang tidak boleh diedit yang nilainya diperoleh daripada Kerja dan Kerja yang berbaki. Nilai yang sedia ada bagi % Selesai dikekalkan. Jika nilai Kerja dan Kerja yang berbaki tiada, nilai tersebut akan diperlukan untuk mengubah % Selesai. + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Mengubah mod pengiraan perkembangan daripada berasaskan-kerja kepada berasaskan-status akan menjadikan semua nilai % Selesai yang sedia ada hilang dan digantikan dengan nilai yang berkaitan dengan setiap status. Nilai sedia ada bagi Kerja yang berbaki juga akan dikira semula untuk menggambarkan perubahan ini. Tindakan ini tidak boleh dipulihkan. custom_actions: @@ -398,6 +402,7 @@ ms: label_create: "Cipta" label_create_work_package: "Cipta pakej kerja baharu" label_created_by: "Dicipta oleh" + label_current: "current" label_date: "Tarikh" label_date_with_format: "Masukkan %{date_attribute} menggunakan format berikut: %{format}" label_deactivate: "Nyahaktifkan" @@ -1179,6 +1184,8 @@ ms: one: "1 hari" other: "%{count} hari" zero: "0 hari" + word: + other: "%{count} words" zen_mode: button_activate: "Aktifkan mod zen" button_deactivate: "Nyahaktifkan mod zen" diff --git a/config/locales/crowdin/js-ne.yml b/config/locales/crowdin/js-ne.yml index b31d1666edbf..d20b15db62ad 100644 --- a/config/locales/crowdin/js-ne.yml +++ b/config/locales/crowdin/js-ne.yml @@ -138,6 +138,8 @@ ne: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ ne: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ ne: label_create: "Create" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "Date" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Deactivate" @@ -1182,6 +1187,9 @@ ne: one: "1 day" other: "%{count} days" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-nl.yml b/config/locales/crowdin/js-nl.yml index 4be9f106e041..01476b3fed01 100644 --- a/config/locales/crowdin/js-nl.yml +++ b/config/locales/crowdin/js-nl.yml @@ -138,6 +138,8 @@ nl: description_select_work_package: "Selecteer werk pakket #%{id}" description_subwork_package: "Kind van werkpakket #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Voorbeeld modus wijzigen" source_code: "Wissel Markdown bronmodus" error_saving_failed: "Het opslaan van het document is mislukt met de volgende foutmelding:%{error}" @@ -276,8 +278,10 @@ nl: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ nl: label_create: "Maken" label_create_work_package: "Nieuw werkpakket maken" label_created_by: "Gemaakt door" + label_current: "current" label_date: "Datum" label_date_with_format: "Geef de %{date_attribute} met gebruik van volgend formaat: %{format}" label_deactivate: "Deactiveren" @@ -1182,6 +1187,9 @@ nl: one: "1 dag" other: "%{count} dagen" zero: "0 dagen" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Zen-modus activeren" button_deactivate: "Deactiveren van zen modus" diff --git a/config/locales/crowdin/js-no.yml b/config/locales/crowdin/js-no.yml index 3c602175cee4..ce8edd7cc2a5 100644 --- a/config/locales/crowdin/js-no.yml +++ b/config/locales/crowdin/js-no.yml @@ -138,6 +138,8 @@ description_select_work_package: "Velg arbeidspakke #%{id}" description_subwork_package: "Barn av arbeidspakke #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Veksle forhåndsvisningsmodus" source_code: "Veksle 'Markdown'-kildemodus" error_saving_failed: "Lagring av dokumentet mislyktes med følgende feil: %{error}" @@ -276,8 +278,10 @@ Endringene kan ta noe tid på å bli effektivisert. Du vil bli varslet når alle relevante arbeidspakker har blitt oppdatert. Er du sikker på at du vil fortsette? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ label_create: "Opprett" label_create_work_package: "Opprett ny arbeidspakke" label_created_by: "Opprettet av" + label_current: "current" label_date: "Dato" label_date_with_format: "Angi %{date_attribute} med følgende format: %{format}" label_deactivate: "Deaktiver" @@ -1182,6 +1187,9 @@ one: "1 dag" other: "%{count} dager" zero: "0 dager" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Aktiver zen modus" button_deactivate: "Deaktiver zen modus" diff --git a/config/locales/crowdin/js-pl.yml b/config/locales/crowdin/js-pl.yml index 6a21fff4139e..441f84c5c33b 100644 --- a/config/locales/crowdin/js-pl.yml +++ b/config/locales/crowdin/js-pl.yml @@ -138,6 +138,8 @@ pl: description_select_work_package: "Zaznacz zestaw Zadań #%{id}" description_subwork_package: "Otwórz zadanie-dziecko #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Przełącz tryb podglądu" source_code: "Przełącz tryb źródła Markdown" error_saving_failed: "Zapisywanie dokumentu nie powiodło się, błąd: %{error}" @@ -276,8 +278,10 @@ pl: Zmiany mogą wejść w życie po pewnym czasie. Gdy wszystkie odpowiednie pakiety robocze zostaną zaktualizowane, otrzymasz powiadomienie. Czy na pewno chcesz kontynuować? work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - Zmiana trybu obliczania postępu z opartego na statusie na oparty na pracy sprawi, że atrybut % ukończenia będzie nieedytowalnym polem, którego wartość pochodzi z atrybutów Praca i Pozostała praca. Istniejące wartości atrybutu % ukończenia zostaną zachowane. Jeśli wartości atrybutów Praca i Pozostała praca nie były obecne, będą one wymagane w celu zmiany wartości % ukończenia. + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Zmiana trybu obliczania postępu z opartego na pracy na oparty na statusie spowoduje, że wszystkie istniejące wartości % ukończenia zostaną utracone i zastąpione wartościami powiązanymi z poszczególnymi statusami. Istniejące wartości Pozostała praca mogą również zostać obliczone ponownie w celu odzwierciedlenia tej zmiany. Działanie to jest nieodwracalne. custom_actions: @@ -398,6 +402,7 @@ pl: label_create: "Utwórz" label_create_work_package: "Utwórz nowy pakiet roboczy" label_created_by: "Utworzony przez" + label_current: "current" label_date: "Data" label_date_with_format: "Wprowadź %{date_attribute} w następującym formacie: %{format}" label_deactivate: "Wyłącz" @@ -1188,6 +1193,11 @@ pl: one: "1 dzień" other: "%{count} dni" zero: "0 dni" + word: + one: "1 word" + few: "%{count} words" + many: "%{count} words" + other: "%{count} words" zen_mode: button_activate: "Włącz tryb zen" button_deactivate: "Wyłącz tryb zen" diff --git a/config/locales/crowdin/js-pt-BR.yml b/config/locales/crowdin/js-pt-BR.yml index eb0f0881cdda..63cb73415d72 100644 --- a/config/locales/crowdin/js-pt-BR.yml +++ b/config/locales/crowdin/js-pt-BR.yml @@ -138,6 +138,8 @@ pt-BR: description_select_work_package: "Selecionar o pacote de trabalho #%{id}" description_subwork_package: "Filho do pacote de trabalho #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Alternar modo de visualização" source_code: "Alternar para código Markdown" error_saving_failed: "Não foi possível salvar o documento pelo seguinte erro: %{error}" @@ -275,8 +277,10 @@ pt-BR: As alterações podem demorar algum tempo para entrar em vigor. Receberá uma notificação quando todos os pacotes de trabalho relevantes forem atualizados. Tem a certeza de que deseja continuar? work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - Alterar o modo de cálculo do progresso de "baseado em status" para "baseado em trabalho" tornará o campo % de conclusão não editável, com seu valor derivado de Trabalho e Trabalho Restante. Os valores existentes de % de conclusão serão preservados. Se os valores de Trabalho e Trabalho Restante não estiverem presentes, eles serão necessários para modificar a % de conclusão. + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Alterar o modo de cálculo do progresso de "baseado em trabalho" para "baseado em status" resultará na perda de todos os valores existentes de % de conclusão, que serão substituídos pelos valores associados a cada status. Os valores existentes de Trabalho restante também podem ser recalculados para refletir essa mudança. Essa ação é irreversível. custom_actions: @@ -397,6 +401,7 @@ pt-BR: label_create: "Criar" label_create_work_package: "Criar novo pacote de trabalho" label_created_by: "Criado por" + label_current: "current" label_date: "Data" label_date_with_format: "Insira a %{date_attribute} usando o seguinte formato: %{format}" label_deactivate: "Desativado" @@ -1181,6 +1186,9 @@ pt-BR: one: "1 dia" other: "%{count} dias" zero: "0 dias" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Ativar modo zen" button_deactivate: "Desativar modo zen" diff --git a/config/locales/crowdin/js-pt-PT.yml b/config/locales/crowdin/js-pt-PT.yml index 32545ca68cce..17a4c4e3e8da 100644 --- a/config/locales/crowdin/js-pt-PT.yml +++ b/config/locales/crowdin/js-pt-PT.yml @@ -138,6 +138,8 @@ pt-PT: description_select_work_package: "Selecionar pacote de trabalho #%{id}" description_subwork_package: "Filho de pacote de trabalho #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Alternar modo de pré-visualização" source_code: "Alternar modo de fonte do Markdown" error_saving_failed: "Ao guardar o documento ocorreu o seguinte erro: %{error}" @@ -276,8 +278,10 @@ pt-PT: As alterações podem demorar algum tempo a entrar em vigor. Receberá uma notificação quando todos os pacotes de trabalho relevantes forem atualizados. Tem a certeza de que quer continuar? work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - Alterar o modo de cálculo do progresso de "baseado no estado" para "baseado no trabalho" fará com que % Completo seja um campo não editável cujo valor é derivado de Trabalho e Trabalho restante. Os valores existentes para % Completo são preservados. Se os valores para Trabalho e Trabalho restante não estiverem presentes, eles serão necessários para alterar % Completo. + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Se alterar o modo de cálculo do progresso de "baseado no trabalho" para "baseado no estado", todos os valores % Completo existentes serão perdidos e substituídos por valores associados a cada estado. Os valores existentes para Trabalho restante também podem ser recalculados para refletir esta alteração. Esta ação não é reversível. custom_actions: @@ -398,6 +402,7 @@ pt-PT: label_create: "Criar" label_create_work_package: "Criar nova tarefa" label_created_by: "Criado por" + label_current: "current" label_date: "Data" label_date_with_format: "Digite o %{date_attribute} usando o seguinte formato: %{format}" label_deactivate: "Desativar" @@ -1182,6 +1187,9 @@ pt-PT: one: "1 dia" other: "%{count} dias" zero: "0 dias" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Ativar modo zen" button_deactivate: "Desativar modo zen" diff --git a/config/locales/crowdin/js-ro.yml b/config/locales/crowdin/js-ro.yml index 4fde82fcb61f..5bb6939aab9a 100644 --- a/config/locales/crowdin/js-ro.yml +++ b/config/locales/crowdin/js-ro.yml @@ -138,6 +138,8 @@ ro: description_select_work_package: "Selectaţi pachetul de lucru #%{id}" description_subwork_package: "Fiu al pachetului de lucru #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Activaţi/Dezactivați previzualizarea" source_code: "Faceți click pentru a activa/dezactiva modul ierarhic." error_saving_failed: "Salvarea documentului a eșuat cu următoarea eroare: %{error}" @@ -275,8 +277,10 @@ ro: Modificările ar putea dura ceva timp pentru a produce efecte. Vei fi notificat când toate pachetele de lucru relevante au fost actualizate. Ești sigur că vrei să continui? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -397,6 +401,7 @@ ro: label_create: "Creare" label_create_work_package: "Creare pachet de lucru nou" label_created_by: "Creat de" + label_current: "current" label_date: "Dată" label_date_with_format: "Introduceţi %{date_attribute} folosind următorul format: %{format}" label_deactivate: "Dezactivare" @@ -1184,6 +1189,10 @@ ro: one: "1 zi" other: "%{count} zile" zero: "0 zile" + word: + one: "1 word" + few: "%{count} words" + other: "%{count} words" zen_mode: button_activate: "Activați modul zen" button_deactivate: "Dezactivați modul zen" diff --git a/config/locales/crowdin/js-ru.yml b/config/locales/crowdin/js-ru.yml index 8aa9574d25b7..21bdcfaf1463 100644 --- a/config/locales/crowdin/js-ru.yml +++ b/config/locales/crowdin/js-ru.yml @@ -138,6 +138,8 @@ ru: description_select_work_package: "Выберите пакет работ #%{id}" description_subwork_package: "Дочерний пакет работ #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Переключить режим предварительного просмотра" source_code: "В режим просмотра исходного кода " error_saving_failed: "Не удалось сохранить документ по следующей причине: %{error}" @@ -275,8 +277,10 @@ ru: Для вступления изменений в силу может потребоваться некоторое время. Вы будете уведомлены, когда все соответствующие пакеты работ будут обновлены. Хотите продолжить? work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - При изменении расчета прогресса с режима на основе статуса на режим на основе трудозатрат поле % Завершения станет нередактируемым, его значение будет получено из значений Работа и Оставшаяся работа. Существующие значения для % Завершения сохраняются. Если значения для Работа и Оставшаяся работа отсутствуют, они потребуются для изменения % Завершения. + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- При изменении расчета прогресса с режима на основе трудозатрат на режим на основе статуса все существующие значения % Завершения будут потеряны и заменены значениями, связанными с каждым статусом. Существующие значения параметра Оставшаяся работа также могут быть пересчитаны с учетом этого изменения. Это действие необратимо. custom_actions: @@ -397,6 +401,7 @@ ru: label_create: "Создать" label_create_work_package: "Создать новый пакет работ" label_created_by: "Автор" + label_current: "current" label_date: "Дата" label_date_with_format: "Введите %{date_attribute}, используя следующий формат: %{format}" label_deactivate: "Деактивировать" @@ -1187,6 +1192,11 @@ ru: one: "1 день" other: "%{count} дней" zero: "0 дней" + word: + one: "1 word" + few: "%{count} words" + many: "%{count} words" + other: "%{count} words" zen_mode: button_activate: "Включить полноэкранный режим" button_deactivate: "Отключить полноэкранный режим" diff --git a/config/locales/crowdin/js-rw.yml b/config/locales/crowdin/js-rw.yml index 35de85c5fe16..a4ae2d063591 100644 --- a/config/locales/crowdin/js-rw.yml +++ b/config/locales/crowdin/js-rw.yml @@ -138,6 +138,8 @@ rw: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ rw: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ rw: label_create: "Create" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "Date" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Deactivate" @@ -1182,6 +1187,9 @@ rw: one: "1 day" other: "%{count} days" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-si.yml b/config/locales/crowdin/js-si.yml index 320b439bc427..9ecf6bb32ce4 100644 --- a/config/locales/crowdin/js-si.yml +++ b/config/locales/crowdin/js-si.yml @@ -138,6 +138,8 @@ si: description_select_work_package: "වැඩ පැකේජය තෝරන්න #%{id}" description_subwork_package: "වැඩ පැකේජය දරුවා #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "පෙරදසුනෙහි මාදිලිය ටොගල් කරන්න" source_code: "සලකුණු කිරීමේ ප්රභව ප්රකාරය ටොගල් කරන්න" error_saving_failed: "පහත දැක්වෙන දෝෂය සමඟ ලේඛනය සුරැකීම අසාර්ථක විය: %{error}" @@ -276,8 +278,10 @@ si: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ si: label_create: "සාදන්න" label_create_work_package: "නව වැඩ පැකේජයක් සාදන්න" label_created_by: "විසින් නිර්මාණය" + label_current: "current" label_date: "දිනය" label_date_with_format: "පහත දැක්වෙන ආකෘතිය භාවිතා කරමින් %{date_attribute} ඇතුල් කරන්න: %{format}" label_deactivate: "අක්රිය කරන්න" @@ -1182,6 +1187,9 @@ si: one: "දින 1" other: "%{count} දින" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "සක්රිය මාදිලිය" button_deactivate: "සෙන් මාදිලිය අක්රිය" diff --git a/config/locales/crowdin/js-sk.yml b/config/locales/crowdin/js-sk.yml index 553ed4ddbf27..425e8805c4c8 100644 --- a/config/locales/crowdin/js-sk.yml +++ b/config/locales/crowdin/js-sk.yml @@ -138,6 +138,8 @@ sk: description_select_work_package: "Vyberte pracovný balík #%{id}" description_subwork_package: "Podradený pracovný balík #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Prepnúť do režimu náhľadu" source_code: "Prepnúť do režimu Markdown" error_saving_failed: "Uloženie dokumentu zlyhalo s nasledujúcou chybou: %{error}" @@ -276,8 +278,10 @@ sk: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ sk: label_create: "Vytvoriť" label_create_work_package: "Vytvoriť nový pracovný balíček" label_created_by: "Vytvoril(a)" + label_current: "current" label_date: "Dátum" label_date_with_format: "Zadajte %{date_attribute} v tomto formáte: %{format}" label_deactivate: "Deaktivovať" @@ -1188,6 +1193,11 @@ sk: one: "1 deň" other: "%{count} dní" zero: "0 days" + word: + one: "1 word" + few: "%{count} words" + many: "%{count} words" + other: "%{count} words" zen_mode: button_activate: "Aktivovať zen režim" button_deactivate: "Deaktivovať zen režim" diff --git a/config/locales/crowdin/js-sl.yml b/config/locales/crowdin/js-sl.yml index 73c2f3d40931..75ad600e70dc 100644 --- a/config/locales/crowdin/js-sl.yml +++ b/config/locales/crowdin/js-sl.yml @@ -138,6 +138,8 @@ sl: description_select_work_package: "Izberi delovni paket #%{id}" description_subwork_package: "Podrejen delovni paket #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Preklopi način predogleda" source_code: "Preklopite vhodni način označevanja" error_saving_failed: "Shranjevanje dokumenta ni uspelo zaradi napake: %{error}" @@ -275,8 +277,10 @@ sl: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -397,6 +401,7 @@ sl: label_create: "Ustvari" label_create_work_package: "Ustvari delovni paket" label_created_by: "Ustvaril" + label_current: "current" label_date: "Datum" label_date_with_format: "Vstavi %{date_attribute} tako da uporabiš format: %{format}" label_deactivate: "Onemogoči" @@ -1187,6 +1192,11 @@ sl: one: "1 dan" other: "%{count} dni" zero: "0 days" + word: + one: "1 word" + two: "%{count} words" + few: "%{count} words" + other: "%{count} words" zen_mode: button_activate: "Omogočite zen način" button_deactivate: "Onemogočite zen način" diff --git a/config/locales/crowdin/js-sr.yml b/config/locales/crowdin/js-sr.yml index 5308d001aca9..ddf5b8630abd 100644 --- a/config/locales/crowdin/js-sr.yml +++ b/config/locales/crowdin/js-sr.yml @@ -138,6 +138,8 @@ sr: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ sr: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ sr: label_create: "Create" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "Date" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Deactivate" @@ -1185,6 +1190,10 @@ sr: one: "1 day" other: "%{count} days" zero: "0 days" + word: + one: "1 word" + few: "%{count} words" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-sv.yml b/config/locales/crowdin/js-sv.yml index 70e9dfb8f36f..ab63025c4242 100644 --- a/config/locales/crowdin/js-sv.yml +++ b/config/locales/crowdin/js-sv.yml @@ -138,6 +138,8 @@ sv: description_select_work_package: "Välj arbetspaket #%{id}" description_subwork_package: "Barn till arbetspaket #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Växla förhandsgranskningsläge" source_code: "Växla markdown-källläge" error_saving_failed: "Misslyckades med att spara dokumentet på grund av följande fel: %{error}" @@ -275,8 +277,10 @@ sv: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -397,6 +401,7 @@ sv: label_create: "Skapa" label_create_work_package: "Skapa nya arbetspaket" label_created_by: "Skapad av" + label_current: "current" label_date: "Datum" label_date_with_format: "Ange %{date_attribute} med följande format: %{format}" label_deactivate: "Deaktivera" @@ -1181,6 +1186,9 @@ sv: one: "1 dag" other: "%{count} dagar" zero: "0 dagar" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Aktivera zen-läge" button_deactivate: "Inaktivera avskalat läge" diff --git a/config/locales/crowdin/js-th.yml b/config/locales/crowdin/js-th.yml index 6f3ac79579e7..8b49d1ff8034 100644 --- a/config/locales/crowdin/js-th.yml +++ b/config/locales/crowdin/js-th.yml @@ -138,6 +138,8 @@ th: description_select_work_package: "เลือกแพ็คเกจงาน #%{id}" description_subwork_package: "แพ็คเกจงานย่อย #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "สลับโหมดแสดงตัวอย่าง" source_code: "Toggle Markdown source mode" error_saving_failed: "การบันทึกเอกสารล้มเหลวด้วยข้อผิดพลาดต่อไปนี้: %{error}" @@ -276,8 +278,10 @@ th: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ th: label_create: "สร้าง" label_create_work_package: "สร้างชุดภารกิจใหม่" label_created_by: "Created by" + label_current: "current" label_date: "วันที่" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "ปิดใช้งาน" @@ -1179,6 +1184,8 @@ th: one: "1 day" other: "%{count} วัน" zero: "0 days" + word: + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-tr.yml b/config/locales/crowdin/js-tr.yml index d0da66f2e1fc..8e2568d6c52e 100644 --- a/config/locales/crowdin/js-tr.yml +++ b/config/locales/crowdin/js-tr.yml @@ -138,6 +138,8 @@ tr: description_select_work_package: "#%{id} nolu iş paketini seçin" description_subwork_package: "#%{id} nolu iş paketinin alt parçası" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Önizleme modunu aç/kapat" source_code: "Markdown kaynak modunu değiştir" error_saving_failed: "Aşağıdaki nedenden dolayı belge kayıt edilemedi: %{error}" @@ -275,8 +277,10 @@ tr: warning: > Değişikliklerin geçerlilik kazanması biraz zaman alabilir. İlgili tüm iş paketleri güncellendiğinde bilgilendirileceksiniz. Devam etmek istediğine emin misin? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -397,6 +401,7 @@ tr: label_create: "Oluştur" label_create_work_package: "Yeni iş paketi oluştur" label_created_by: "Oluşturan" + label_current: "current" label_date: "Tarih" label_date_with_format: "Aşağıdaki biçimi kullanarak %{date_attribute} girin: %{format}" label_deactivate: "Etkisizleştir" @@ -1181,6 +1186,9 @@ tr: one: "1 gün" other: "%{count} gün" zero: "0 gün" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Zen modunu etkinleştir" button_deactivate: "Zen modunu devre dışı bırak" diff --git a/config/locales/crowdin/js-uk.yml b/config/locales/crowdin/js-uk.yml index bf0ed75df078..a9a929d4e2cf 100644 --- a/config/locales/crowdin/js-uk.yml +++ b/config/locales/crowdin/js-uk.yml @@ -138,6 +138,8 @@ uk: description_select_work_package: "Виберіть пакет робіт #%{id}" description_subwork_package: "Нащадок пакету робіт #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Перемкнути режим попереднього перегляду" source_code: "Увімкнути режим вимкнення Markdown" error_saving_failed: "Не вдалося зберегти документ із такою помилкою: %{error}" @@ -276,8 +278,10 @@ uk: Застосування змін може тривати деякий час. Ви отримаєте сповіщення, коли всі відповідні пакети робіт буде оновлено. Продовжити? work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - Якщо перейти з режиму обчислення прогресу на основі статусу на режим на основі робіт, атрибут % завершення стане недоступним для редагування полем, значення якого отримуватиметься зі значень атрибутів Робота й Залишок роботи. Наявні значення атрибута % завершення буде збережено. Якщо значення атрибутів Робота й Залишок роботи не задано, їх потрібно буде задати, щоб змінити значення атрибута % завершення. + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Якщо перейти з режиму обчислення прогресу на основі робіт на режим на основі статусу, усі наявні значення атрибута % завершення буде втрачено й замінено значеннями, пов’язаними з кожним статусом. Наявні значення атрибута Залишок роботи може бути також переобчислено з урахуванням цієї зміни. Цю дію не можна скасувати. custom_actions: @@ -398,6 +402,7 @@ uk: label_create: "Створити" label_create_work_package: "Створити новий робочий пакет" label_created_by: "Створено" + label_current: "current" label_date: "Дата" label_date_with_format: "Введіть %{date_attribute}, використовуючи наступний формат: %{format}" label_deactivate: "Деактивувати" @@ -1188,6 +1193,11 @@ uk: one: "1 день" other: "%{count} д." zero: "0 днів" + word: + one: "1 word" + few: "%{count} words" + many: "%{count} words" + other: "%{count} words" zen_mode: button_activate: "Активуйте режим дзен" button_deactivate: "Деактивуйте режим дзен" diff --git a/config/locales/crowdin/js-uz.yml b/config/locales/crowdin/js-uz.yml index 598bfb848769..4615140e34d8 100644 --- a/config/locales/crowdin/js-uz.yml +++ b/config/locales/crowdin/js-uz.yml @@ -138,6 +138,8 @@ uz: description_select_work_package: "Select work package #%{id}" description_subwork_package: "Child of work package #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Toggle preview mode" source_code: "Toggle Markdown source mode" error_saving_failed: "Saving the document failed with the following error: %{error}" @@ -276,8 +278,10 @@ uz: The changes might take some time to take effect. You will be notified when all relevant work packages have been updated. Are you sure you want to continue? work_packages_settings: - warning_progress_calculation_mode_change_from_status_to_field_html: >- + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + warning_progress_calculation_mode_change_from_status_to_field_html: >- + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Changing progress calculation mode from work-based to status-based will result in all existing % Complete values to be lost and replaced with values associated with each status. Existing values for Remaining work may also be recalculated to reflect this change. This action is not reversible. custom_actions: @@ -398,6 +402,7 @@ uz: label_create: "Create" label_create_work_package: "Create new work package" label_created_by: "Created by" + label_current: "current" label_date: "Date" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" label_deactivate: "Deactivate" @@ -1182,6 +1187,9 @@ uz: one: "1 day" other: "%{count} days" zero: "0 days" + word: + one: "1 word" + other: "%{count} words" zen_mode: button_activate: "Activate zen mode" button_deactivate: "Deactivate zen mode" diff --git a/config/locales/crowdin/js-vi.yml b/config/locales/crowdin/js-vi.yml index 913476e9125b..60856c46ea82 100644 --- a/config/locales/crowdin/js-vi.yml +++ b/config/locales/crowdin/js-vi.yml @@ -138,6 +138,8 @@ vi: description_select_work_package: "Chọn công việc #%{id}" description_subwork_package: "Con của công việc #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "Chuyển đổi chế độ xem trước" source_code: "Chuyển đổi chế độ mã Markdown" error_saving_failed: "Lưu tài liệu không thành công với lỗi sau: %{error}" @@ -276,8 +278,10 @@ vi: Các thay đổi có thể mất một thời gian để có hiệu lực. Bạn sẽ được thông báo khi tất cả các công việc liên quan đã được cập nhật. Bạn có chắc chắn muốn tiếp tục không? work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - Thay đổi chế độ tính toán tiến độ từ dựa trên trạng thái sang dựa trên công việc sẽ làm cho % Hoàn thành trở thành trường không thể chỉnh sửa, giá trị của nó được lấy từ Công việcCông việc còn lại. Các giá trị hiện tại cho % Hoàn thành sẽ được giữ lại. Nếu các giá trị cho Công việcCông việc còn lại không có, chúng sẽ được yêu cầu để thay đổi % Hoàn thành. + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- Thay đổi chế độ tính toán tiến độ từ dựa trên công việc sang dựa trên trạng thái sẽ dẫn đến việc tất cả các giá trị hiện tại của % Hoàn thành bị mất và thay thế bằng các giá trị liên kết với từng trạng thái. Các giá trị hiện tại cho Công việc còn lại cũng có thể được tính lại để phản ánh sự thay đổi này. Hành động này không thể hoàn tác. custom_actions: @@ -398,6 +402,7 @@ vi: label_create: "Tạo" label_create_work_package: "Tạo gói công việc mới" label_created_by: "Được tạo bởi" + label_current: "current" label_date: "Ngày" label_date_with_format: "Nhập %{date_attribute} theo định dạng sau: %{format}" label_deactivate: "Hủy kích hoạt" @@ -1179,6 +1184,8 @@ vi: one: "1 ngày" other: "%{count} ngày" zero: "0 ngày" + word: + other: "%{count} words" zen_mode: button_activate: "Kích hoạt chế độ Zen" button_deactivate: "Tắt chế độ Zen" diff --git a/config/locales/crowdin/js-zh-CN.yml b/config/locales/crowdin/js-zh-CN.yml index 004167832401..0f05cecbe644 100644 --- a/config/locales/crowdin/js-zh-CN.yml +++ b/config/locales/crowdin/js-zh-CN.yml @@ -138,6 +138,8 @@ zh-CN: description_select_work_package: "选择工作包 #%{id}" description_subwork_package: "子工作包 #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "切换预览模式" source_code: "切换 Markdown 模式" error_saving_failed: "保存文档失败,出现以下错误:%{error}" @@ -275,8 +277,10 @@ zh-CN: warning: > 更改可能需要一些时间才能生效。当更新完所有相关工作包时,您将收到通知。 work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - 将进度计算模式从基于状态改为基于工作,将使完成百分比成为不可编辑字段,其值来自工作剩余工时完成百分比的现有值将保留。如果没有 "工时"和 "剩余工作"的值,则需要这些值才能更改 "完成百分比"。 + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- 将进度计算模式从基于工时的方式改为基于状态,将会导致所有现有的 %完整的 值丢失,并被与每个状态相关的值所替代。 剩余工时 的现有值也可能被重新计算,以反映这种变化。此操作不可逆转。 custom_actions: @@ -397,6 +401,7 @@ zh-CN: label_create: "创建" label_create_work_package: "创建新工作包" label_created_by: "创建自" + label_current: "current" label_date: "日期" label_date_with_format: "以%{format} 的格式输入 %{date_attribute}" label_deactivate: "停用" @@ -1178,6 +1183,8 @@ zh-CN: one: "1 天" other: "%{count} 天" zero: "0 天" + word: + other: "%{count} words" zen_mode: button_activate: "激活 zen 模式" button_deactivate: "取消激活 zen 模式" diff --git a/config/locales/crowdin/js-zh-TW.yml b/config/locales/crowdin/js-zh-TW.yml index 3fbb0a03eeb7..e29caa69fbcb 100644 --- a/config/locales/crowdin/js-zh-TW.yml +++ b/config/locales/crowdin/js-zh-TW.yml @@ -138,6 +138,8 @@ zh-TW: description_select_work_package: "選取工作項目 #%{id}" description_subwork_package: "子工作項目 #%{id}" editor: + revisions: "Show local modifications" + no_revisions: "No local modifications found" preview: "切換預覽模式" source_code: "切換Markdown模式" error_saving_failed: "保存文件失敗, 出現以下錯誤: %{error}" @@ -274,8 +276,10 @@ zh-TW: warning: > 更改可能需要一些時間才能生效。當更新完所有相關工作包時,您將收到通知。 work_packages_settings: + warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- + Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. warning_progress_calculation_mode_change_from_status_to_field_html: >- - 將進度計算模式從基於狀態改為基於工作,將使完成百分比成為不可編輯字段,其值來自工作剩餘工時完成百分比的現有值將保留。如果沒有 "工時"和 "剩餘工作"的值,則需要這些值才能更改 "完成百分比"。 + Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. warning_progress_calculation_mode_change_from_field_to_status_html: >- 將進度計算模式從基於工時的方式改為基於狀態,將會導致所有現有的 %完整的 值丟失,並被與每個狀態相關的值所替代。 剩餘工時 的現有值也可能被重新計算,以反映這種變化。此操作不可逆轉。 custom_actions: @@ -396,6 +400,7 @@ zh-TW: label_create: "建立" label_create_work_package: "建立新的工作項目" label_created_by: "建立者:" + label_current: "current" label_date: "日期" label_date_with_format: "輸入 %{date_attribute} 使用以下格式: %{format}" label_deactivate: "停用" @@ -1177,6 +1182,8 @@ zh-TW: one: "1 天" other: "%{count} 天" zero: "0 天" + word: + other: "%{count} words" zen_mode: button_activate: "啟動 zen 模式" button_deactivate: "停用 zen 模式" diff --git a/config/locales/crowdin/ka.yml b/config/locales/crowdin/ka.yml index 6edc7660464b..c334143978e9 100644 --- a/config/locales/crowdin/ka.yml +++ b/config/locales/crowdin/ka.yml @@ -1040,10 +1040,10 @@ ka: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1073,15 +1073,17 @@ ka: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ ka: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ ka: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "კომენტარი" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/kk.yml b/config/locales/crowdin/kk.yml index 624a40465359..b27671681648 100644 --- a/config/locales/crowdin/kk.yml +++ b/config/locales/crowdin/kk.yml @@ -1040,10 +1040,10 @@ kk: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1073,15 +1073,17 @@ kk: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ kk: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ kk: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comment" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/ko.yml b/config/locales/crowdin/ko.yml index 193295dcba0a..82c093b93630 100644 --- a/config/locales/crowdin/ko.yml +++ b/config/locales/crowdin/ko.yml @@ -1032,10 +1032,10 @@ ko: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "- 작업과 남은 작업이 일치하지 않습니다" - cannot_be_set_when_work_is_zero: "- 작업이 0인 경우 설정할 수 없습니다" - must_be_set_when_remaining_work_is_set: "'남은 작업'이 설정된 경우 필수입니다." - must_be_set_when_work_and_remaining_work_are_set: "'작업' 및 '남은 작업'이 설정된 경우 필수입니다." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "- 0에서 100 사이여야 합니다." due_date: not_start_date: "마일스톤에서 요구하지만, 시작 날짜가 없음" @@ -1065,15 +1065,17 @@ ko: does_not_exist: "지정한 카테고리가 존재하지 않습니다." estimated_hours: not_a_number: "- 유효한 기간이 아닙니다." - cant_be_inferior_to_remaining_work: "남은 작업보다 낮을 수 없습니다." - must_be_set_when_remaining_work_and_percent_complete_are_set: "'남은 작업' 및 '완료 %'가 설정된 경우 필수입니다." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "- 유효한 기간이 아닙니다." - cant_exceed_work: "작업보다 높을 수 없습니다." - must_be_set_when_work_is_set: "작업이 설정된 경우 필수입니다." - must_be_set_when_work_and_percent_complete_are_set: "'작업' 및 '완료 %'가 설정된 경우 필수입니다." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "작업 패키지가 읽기 전용 상태이므로 해당 속성을 변경할 수 없습니다." type: attributes: @@ -3077,8 +3079,10 @@ ko: setting_work_package_done_ratio: "진행률 계산" setting_work_package_done_ratio_field: "작업 기반" setting_work_package_done_ratio_status: "상태 기반" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - 작업 기반 모드에서 완료 %는 총 작업 대비 완료된 작업을 기준으로 계산됩니다. 상태 기반 모드에서는 각 상태에 완료 % 값이 연결되어 있습니다. 상태를 변경하면 완료 %도 변경됩니다. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "작업 패키지 속성" setting_work_package_startdate_is_adddate: "새 작업 패키지에 대한 시작 날짜로 현재 날짜 사용" setting_work_packages_projects_export_limit: "작업 패키지/프로젝트 내보내기 제한" @@ -3460,9 +3464,26 @@ ko: progress: label_note: "참고:" modal: - work_based_help_text: "완료 %는 작업 및 남은 작업에서 자동으로 파생됩니다." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "완료 %는 작업 패키지 상태에 따라 설정됩니다." migration_warning_text: "작업 기반 진행률 계산 모드에서 완료 %는 수동으로 설정할 수 없으며 작업에 연결됩니다. 기존 값은 유지되지만 편집할 수 없습니다. 먼저 작업을 입력하세요." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "코멘트" comment_description: "이 작업 패키지를 보고 코멘트를 작성할 수 있습니다." diff --git a/config/locales/crowdin/lt.yml b/config/locales/crowdin/lt.yml index 18f36f5f2088..1e69aa7281fb 100644 --- a/config/locales/crowdin/lt.yml +++ b/config/locales/crowdin/lt.yml @@ -1051,10 +1051,10 @@ lt: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Privaloma, kai nustatytas likęs darbas." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "nėra pradžios data, nors tai reikalinga svarbiems etapams." @@ -1084,15 +1084,17 @@ lt: does_not_exist: "Nurodyta kategorija neegzistuoja." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Negali būti mažesnis už likusį darbą." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Negali būdi daugiau nei Darbas." - must_be_set_when_work_is_set: "Privaloma, kai nustatytas Darbas." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "Darbo paketas yra tik skaitymo būsenoje, taigi jo atributų keisti negalima." type: attributes: @@ -3185,8 +3187,10 @@ lt: setting_work_package_done_ratio: "Eigos skaičiavimas" setting_work_package_done_ratio_field: "Pagal-darbą" setting_work_package_done_ratio_status: "Pagal-būseną" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - Režime pagal-darbą, pabaigimo % skaičiuojami pagal tai, kiek darbo atlikta lyginant su visu darbo kiekiu. Režime pagal-būseną, kiekvienas būsenas turi savo susijusią baigtumo % reikšmę. Pakeitus būseną pasikeis ir % baigta. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Darbų paketo ypatybės" setting_work_package_startdate_is_adddate: "Naudoti dabartinę datą kaip naujų darbų paketų pradžios datą" setting_work_packages_projects_export_limit: "Darbo paketų / Projektų eksporto limitas" @@ -3570,9 +3574,26 @@ lt: progress: label_note: "Pastaba:" modal: - work_based_help_text: "% baigta automatiškai skaičiuojama pagal Darbą ir Likusį darbą." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% baigta nustatoma pagal paketo būseną." migration_warning_text: "Darbu paremtame eigos skaičiavimo režime % baigta negali būti nustatomas rankomis ir yra susietas su darbu. Esamos reikšmės buvo išlaikytos, bet negali būti keičiamos. Prašome iš pradžių įveskite darbą." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Komentaras" comment_description: "Gali žiūrėti ir komentuoti šį darbo paketą." diff --git a/config/locales/crowdin/lv.yml b/config/locales/crowdin/lv.yml index 20e9052f6bcc..0d2c068d97db 100644 --- a/config/locales/crowdin/lv.yml +++ b/config/locales/crowdin/lv.yml @@ -1047,10 +1047,10 @@ lv: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "nav sākuma datums, kaut arī tas ir nepieciešams atskaites punktam." @@ -1080,15 +1080,17 @@ lv: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3155,8 +3157,10 @@ lv: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3540,9 +3544,26 @@ lv: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Komentârs" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/mn.yml b/config/locales/crowdin/mn.yml index 21ddae98cecd..98d5253536c9 100644 --- a/config/locales/crowdin/mn.yml +++ b/config/locales/crowdin/mn.yml @@ -1040,10 +1040,10 @@ mn: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1073,15 +1073,17 @@ mn: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ mn: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ mn: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comment" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/ms.yml b/config/locales/crowdin/ms.yml index 2e46e08813fd..b7663e3af9cf 100644 --- a/config/locales/crowdin/ms.yml +++ b/config/locales/crowdin/ms.yml @@ -1031,10 +1031,10 @@ ms: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Diperlukan apabila kerja yang Berbaki ditetapkan." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "bukan pada tarikh mula, walaupun ini diperlukan untuk pencapaian." @@ -1064,15 +1064,17 @@ ms: does_not_exist: "Kategori yang ditentukan tidak wujud." estimated_hours: not_a_number: "bukan jangka masa yang sah." - cant_be_inferior_to_remaining_work: "Tidak boleh lebih rendah daripada kerja yang Berbaki." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "bukan jangka masa yang sah." - cant_exceed_work: "Tidak boleh lebih tinggi daripada Kerja." - must_be_set_when_work_is_set: "Diperlukan apabila Kerja ditetapkan." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "Pakej kerja berada dalam status baca sahaja maka atributnya tidak boleh diubah." type: attributes: @@ -3077,8 +3079,10 @@ ms: setting_work_package_done_ratio: "Pengiraan perkembangan" setting_work_package_done_ratio_field: "Berasaskan kerja" setting_work_package_done_ratio_status: "Berasaskan status" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - Di mod berasaskan kerja, % Selesai dikira daripada berapa banyak kerja yang telah siap berhubungan dengan jumlah kerja. Di mod berasaskan status, setiap status mempunyai kadar % Selesai berkait dengannya. Pertukaran status akan mengubah % Selesai. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Ciri-ciri pakej kerja" setting_work_package_startdate_is_adddate: "Guna tarikh semasa sebagai tarikh mula untuk pakej kerja baharu" setting_work_packages_projects_export_limit: "Pakej kerja / Had eksport projek" @@ -3460,9 +3464,26 @@ ms: progress: label_note: "Perhatian:" modal: - work_based_help_text: "% Selesai secara automatik diperolehi daripada Kerja dan Kerja yang berbaki." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Selesai ditetapkan oleh status pakej kerja." migration_warning_text: "Dalam mod pengiraan perkembangan berdasarkan kerja, % Selesai tidak boleh ditetapkan secara manual dan ianya terikat kepada Kerja. Nilai sedia ada tersebut telah disimpan tetapi tidak boleh diedit. Sila input Kerja dahulu." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Komen" comment_description: "Boleh lihat dan komen berkenaan pakej kerja ini." diff --git a/config/locales/crowdin/ne.yml b/config/locales/crowdin/ne.yml index ba654ceb2655..c17c821777e2 100644 --- a/config/locales/crowdin/ne.yml +++ b/config/locales/crowdin/ne.yml @@ -1040,10 +1040,10 @@ ne: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1073,15 +1073,17 @@ ne: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ ne: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ ne: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comment" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/nl.yml b/config/locales/crowdin/nl.yml index fd950c777a78..979bea334719 100644 --- a/config/locales/crowdin/nl.yml +++ b/config/locales/crowdin/nl.yml @@ -1037,10 +1037,10 @@ nl: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Vereist wanneer Resterend werk is ingesteld." - must_be_set_when_work_and_remaining_work_are_set: "Vereist wanneer Werk en Resterend werk zijn ingesteld." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "moet tussen 0 en 100 liggen." due_date: not_start_date: "is niet op begindatum, hoewel dit voor mijlpalen vereist is." @@ -1070,15 +1070,17 @@ nl: does_not_exist: "De gekozen categorie bestaat niet." estimated_hours: not_a_number: "is geen geldige duur." - cant_be_inferior_to_remaining_work: "Kan niet lager zijn dan Resterend werk." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Vereist wanneer Resterend werk en % Voltooid zijn ingesteld." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is geen geldige duur." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Vereist wanneer Werk is ingesteld." - must_be_set_when_work_and_percent_complete_are_set: "Vereist wanneer Werk en % Voltooid zijn ingesteld." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "Het werkpakket heeft een alleen-lezen status dus kunne attributen niet worden gewijzigd." type: attributes: @@ -3114,8 +3116,10 @@ nl: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Werkpakketeigenschappen" setting_work_package_startdate_is_adddate: "Huidige datum als begindatum voor nieuwe werkpakketten gebruiken" setting_work_packages_projects_export_limit: "Werkpakketten / Projecten exportlimiet" @@ -3497,9 +3501,26 @@ nl: progress: label_note: "Opmerking:" modal: - work_based_help_text: "% Voltooid wordt automatisch afgeleid van Werk en Resterend werk." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Voltooid wordt ingesteld door de status van het werkpakket." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Commentaar" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/no.yml b/config/locales/crowdin/no.yml index f7bd70a16140..9e5bea29f725 100644 --- a/config/locales/crowdin/no.yml +++ b/config/locales/crowdin/no.yml @@ -1039,10 +1039,10 @@ assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "samsvarer ikke med arbeid og arbeid som gjenstår" - cannot_be_set_when_work_is_zero: "kan ikke angis når arbeidet er null" - must_be_set_when_remaining_work_is_set: "Påkrevd når gjenværende arbeid er satt." - must_be_set_when_work_and_remaining_work_are_set: "Påkrevd når arbeid og gjenstående arbeid settes." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "må være mellom 0 og 100." due_date: not_start_date: "er ikke på startdato, selv om dette er nødvendig for milepæler." @@ -1072,15 +1072,17 @@ does_not_exist: "Den angitte kategorien finnes ikke." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Kan ikke være lavere enn gjenstående arbeid." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Påkrevd når gjenværende arbeid og % Fullført er satt." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Kan ikke være høyere enn arbeidet." - must_be_set_when_work_is_set: "Påkrevet når arbeidet settes." - must_be_set_when_work_and_percent_complete_are_set: "Påkrevd når gjenværende arbeid og % Fullført er satt." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "Arbeidspakken er i skrivebeskyttet status slik at egenskapene ikke kan endres." type: attributes: @@ -3117,8 +3119,10 @@ setting_work_package_done_ratio: "Beregning av fremdrift" setting_work_package_done_ratio_field: "Arbeidsbasert" setting_work_package_done_ratio_status: "Statusbasert" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - I arbeidsbasert modus, beregnes % Ferdig ut fra hvor mye arbeid som er gjort i forhold til det totale arbeidet. I -statusbasert modus har hver status en % Ferdig verdi knyttet til den. Endring av status vil endre % Ferdig. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Egenskaper for arbeidspakke" setting_work_package_startdate_is_adddate: "Bruk gjeldende dato som startdato for nye arbeidspakker" setting_work_packages_projects_export_limit: "Eksportgrense for arbeidspakker/prosjekter" @@ -3501,9 +3505,26 @@ progress: label_note: "Merk:" modal: - work_based_help_text: "% Ferdig utledes automatisk fra arbeid og gjenstående arbeid." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Ferdig er angitt etter status på arbeidspakken." migration_warning_text: "I arbeidsbasert fremdriftsberegningsmodus kan % Ferdig ferdigstilt ikke settes manuelt og er knyttet til jobber. Den eksisterende verdien er lagret, men kan ikke endres. Skriv inn arbeidet først." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Kommentar" comment_description: "Kan se og kommentere denne arbeidspakken." diff --git a/config/locales/crowdin/pl.yml b/config/locales/crowdin/pl.yml index 63a7d5f0dc66..67fefcc4b648 100644 --- a/config/locales/crowdin/pl.yml +++ b/config/locales/crowdin/pl.yml @@ -1051,10 +1051,10 @@ pl: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "nie odpowiada pracy i pozostałej pracy" - cannot_be_set_when_work_is_zero: "nie można ustawić, gdy praca wynosi zero" - must_be_set_when_remaining_work_is_set: "Wymagane, gdy ustawiona jest opcja Pozostała praca." - must_be_set_when_work_and_remaining_work_are_set: "Wymagane, gdy ustawione są opcje Praca i Pozostała praca." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "musi wynosić od 0 do 100." due_date: not_start_date: "nie jest w dniu rozpoczęcia, chociaż jest to wymagane dla Kamieni Milowych." @@ -1084,15 +1084,17 @@ pl: does_not_exist: "Podana kategoria nie istnieje." estimated_hours: not_a_number: "nie jest prawidłowym czasem trwania." - cant_be_inferior_to_remaining_work: "Nie może być mniejsza niż wartość pozostałej pracy." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Wymagane, gdy ustawione są opcje Pozostała praca i % ukończenia." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "nie jest prawidłowym czasem trwania." - cant_exceed_work: "Nie może być wyższa niż wartość pracy." - must_be_set_when_work_is_set: "Wymagane, gdy ustawiona jest opcja Praca." - must_be_set_when_work_and_percent_complete_are_set: "Wymagane, gdy ustawione są opcje Praca i % ukończenia." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "Pakiet roboczy ma status tylko do odczytu, więc jego atrybutów nie można zmienić." type: attributes: @@ -3186,8 +3188,10 @@ pl: setting_work_package_done_ratio: "Obliczenie postępu" setting_work_package_done_ratio_field: "Oparte na pracy" setting_work_package_done_ratio_status: "Oparte na statusie" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - W trybie opartym na pracy % ukończenia jest obliczany na podstawie ilości wykonanej pracy w stosunku do pracy całkowitej. W trybie opartym na statusie każdy status ma powiązaną wartość % ukończenia. Zmiana statusu spowoduje zmianę % ukończenia. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Właściwości pakietu roboczego" setting_work_package_startdate_is_adddate: "Użyj bieżącej daty jako daty początkowej dla nowych pakietów roboczych" setting_work_packages_projects_export_limit: "Limit eksportu pakietów roboczych / projektów" @@ -3572,9 +3576,26 @@ pl: progress: label_note: "Uwaga:" modal: - work_based_help_text: "% ukończenia jest automatycznie wyprowadzany z wartości Praca i Pozostała praca." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% ukończenia jest ustawiany na podstawie statusu pakietu roboczego." migration_warning_text: "W trybie obliczania postępu na podstawie pracy wartości % ukończenia nie można ustawić ręcznie i jest ona powiązana z wartością Praca. Istniejąca wartość została zachowana, ale nie można jej edytować. Najpierw wprowadź wartość Praca." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Komentarz" comment_description: "Może wyświetlać i komentować ten pakiet roboczy." diff --git a/config/locales/crowdin/pt-BR.yml b/config/locales/crowdin/pt-BR.yml index 948892c2c1d9..c57cc6f876fc 100644 --- a/config/locales/crowdin/pt-BR.yml +++ b/config/locales/crowdin/pt-BR.yml @@ -1038,10 +1038,10 @@ pt-BR: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "não corresponde ao trabalho e ao trabalho restante" - cannot_be_set_when_work_is_zero: "não pode ser definido quando o trabalho é zero" - must_be_set_when_remaining_work_is_set: "Necessário quando o Trabalho restante for definido." - must_be_set_when_work_and_remaining_work_are_set: "Necessário quando o Trabalho e o Trabalho restante são definidos." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "deve estar entre 0 e 100." due_date: not_start_date: "não é na data de início, embora isso seja necessário para os marcos." @@ -1071,15 +1071,17 @@ pt-BR: does_not_exist: "Categoria especificada não existe." estimated_hours: not_a_number: "não é uma duração válida." - cant_be_inferior_to_remaining_work: "Não pode ser menor do que o Trabalho restante." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Necessário quando o Trabalho restante e o % concluído são definidos." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "não é uma duração válida." - cant_exceed_work: "Não pode ser maior do que o Trabalho." - must_be_set_when_work_is_set: "Necessário quando o Trabalho for definido." - must_be_set_when_work_and_percent_complete_are_set: "Necessário quando Trabalho e % concluído são definidos." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "O pacote de trabalho está em estado somente leitura, então seus atributos não podem ser alterados." type: attributes: @@ -3114,8 +3116,10 @@ pt-BR: setting_work_package_done_ratio: "Cálculo de progresso" setting_work_package_done_ratio_field: "Com base no trabalho" setting_work_package_done_ratio_status: "Com base no estado" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - No modo com base no trabalho, a % de conclusão é calculada com base na quantidade de trabalho realizado em relação ao total de trabalho. Já no modo com base no estado, cada estado possui um valor de % de conclusão associado a ele. Alterar o estado resultará em uma mudança na % de conclusão. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Propriedades do pacote de trabalho" setting_work_package_startdate_is_adddate: "Usar a data atual como data para início dos novos pacotes de trabalho" setting_work_packages_projects_export_limit: "Limite de exportação de pacote de trabalho / projetos" @@ -3497,9 +3501,26 @@ pt-BR: progress: label_note: "Obs.:" modal: - work_based_help_text: "% de conclusão é automaticamente calculada com base no trabalho total e no trabalho restante." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "A % de conclusão é definida pelo estado do pacote de trabalho." migration_warning_text: "No modo de cálculo de progresso com base no trabalho, a % conclusão não pode ser definida manualmente e está vinculada ao Trabalho. O valor existente foi mantido, mas não pode ser editado. Favor inserir o Trabalho primeiro." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comentário" comment_description: "Pode visualizar e comentar neste pacote de trabalho." diff --git a/config/locales/crowdin/pt-PT.yml b/config/locales/crowdin/pt-PT.yml index e871bcb611b8..a1ae4eb0b417 100644 --- a/config/locales/crowdin/pt-PT.yml +++ b/config/locales/crowdin/pt-PT.yml @@ -1038,10 +1038,10 @@ pt-PT: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "não corresponde ao trabalho e ao trabalho restante" - cannot_be_set_when_work_is_zero: "não pode ser definido quando o trabalho é zero" - must_be_set_when_remaining_work_is_set: "Obrigatório quando o Trabalho restante está definido." - must_be_set_when_work_and_remaining_work_are_set: "Obrigatório quando o Trabalho e o Trabalho restante estão definidos." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "tem de estar entre 0 e 100." due_date: not_start_date: "não é na data de início, embora isto seja necessário para os registos." @@ -1071,15 +1071,17 @@ pt-PT: does_not_exist: "A categoria especificada não existe." estimated_hours: not_a_number: "não é uma duração válida." - cant_be_inferior_to_remaining_work: "Não pode ser inferior a Trabalho restante." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Necessário quando são definidos Trabalho restante e % concluído." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "não é uma duração válida." - cant_exceed_work: "Não pode ser superior a Trabalho." - must_be_set_when_work_is_set: "Obrigatório quando o Trabalho é definido." - must_be_set_when_work_and_percent_complete_are_set: "Necessário quando Trabalho e % concluído estão definidos." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "O pacote de trabalho está em estado de apenas leitura, por isso os seus atributos não podem ser alterados." type: attributes: @@ -3113,8 +3115,10 @@ pt-PT: setting_work_package_done_ratio: "Cálculo do progresso" setting_work_package_done_ratio_field: "Baseado no trabalho" setting_work_package_done_ratio_status: "Baseado no estado" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - No modo baseado no trabalho, a % de conclusão é calculada a partir da quantidade de trabalho realizado em relação ao trabalho total. No modo baseado no estado, cada estado tem um valor de % de conclusão associado. A alteração do estado altera a % de conclusão. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Propriedades das tarefas" setting_work_package_startdate_is_adddate: "Utilizar a data atual como data de início para novos pacotes de trabalho" setting_work_packages_projects_export_limit: "Pacotes de trabalho / limite de exportação de projetos" @@ -3497,9 +3501,26 @@ pt-PT: progress: label_note: "Nota:" modal: - work_based_help_text: "A % de conclusão é derivada automaticamente do Trabalho e do Trabalho restante." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "A % de conclusão é definida pelo estado do pacote de trabalho." migration_warning_text: "No modo de cálculo do progresso com base no trabalho, a % de conclusão não pode ser definida manualmente e está ligada ao Trabalho. O valor existente foi mantido, mas não pode ser editado. Introduza primeiro o Trabalho." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comentário" comment_description: "Pode ver e comentar este pacote de trabalho." diff --git a/config/locales/crowdin/ro.yml b/config/locales/crowdin/ro.yml index 967266673784..cf80e3dee3cd 100644 --- a/config/locales/crowdin/ro.yml +++ b/config/locales/crowdin/ro.yml @@ -1047,10 +1047,10 @@ ro: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "nu este în data de început, deși acest lucru este necesar pentru etape." @@ -1080,15 +1080,17 @@ ro: does_not_exist: "Categoria specificată nu există." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "Pachetul de lucru este în stare de numai citire, astfel încât atributele sale nu pot fi modificate." type: attributes: @@ -3154,8 +3156,10 @@ ro: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Proprietăți pachet de lucru" setting_work_package_startdate_is_adddate: "Folosire data curentă ca dată de început pentru pachetele de lucru noi" setting_work_packages_projects_export_limit: "Limita de export a pachetelor de lucru / proiectelor" @@ -3539,9 +3543,26 @@ ro: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comentariu" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index 18588a7a4b69..fd91cdb07b34 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -1053,10 +1053,10 @@ ru: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Требуется, если установлен параметр Оставшаяся работа." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "должно быть между 0 и 100." due_date: not_start_date: "не совпадает с датой начала, хотя это требуется для вех." @@ -1086,15 +1086,17 @@ ru: does_not_exist: "Указанная категория не существует." estimated_hours: not_a_number: "не является допустимой продолжительностью." - cant_be_inferior_to_remaining_work: "Не может быть меньше, чем Оставшаяся работа." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "не является допустимой продолжительностью." - cant_exceed_work: "Не может быть выше Работы." - must_be_set_when_work_is_set: "Требуется, если установлен параметр «Работа»." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "Пакет работ находится в статусе доступном только для чтения, поэтому его атрибуты не могут быть изменены." type: attributes: @@ -3188,8 +3190,10 @@ ru: setting_work_package_done_ratio: "Режим расчета прогресса" setting_work_package_done_ratio_field: "На основе трудозатрат" setting_work_package_done_ratio_status: "На основе статуса" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - В режиме На основе трудозатрат, процент завершения рассчитывается на основе того, сколько работы выполнено по отношению к общему объему работ. В режиме На основе статуса, каждый статус имеет связанное с ним значение процента завершения. Изменение статуса изменит процент завершения. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Свойства пакета работ" setting_work_package_startdate_is_adddate: "Использовать текущую дату как дату начала для новых пакетов работ" setting_work_packages_projects_export_limit: "Ограничение экспорта пакетов работ / проектов" @@ -3573,9 +3577,26 @@ ru: progress: label_note: "Примечание:" modal: - work_based_help_text: "% Выполнения автоматически выводится из Работ и Оставшихся работ." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Выполнения определяется статусом пакета работ." migration_warning_text: "В режиме расчета прогресса \"На основе трудозатрат\" процент завершения невозможно установить вручную, он привязан к трудозатратам. Существующее значение сохранено, но его нельзя изменить. Пожалуйста, сначала введите трудозатраты." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Комментировать" comment_description: "Может просматривать и комментировать этот пакет работ." diff --git a/config/locales/crowdin/rw.yml b/config/locales/crowdin/rw.yml index b4ecdd08e289..e83722c5ac42 100644 --- a/config/locales/crowdin/rw.yml +++ b/config/locales/crowdin/rw.yml @@ -1040,10 +1040,10 @@ rw: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1073,15 +1073,17 @@ rw: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ rw: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ rw: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comment" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/si.yml b/config/locales/crowdin/si.yml index c407cf18f549..d8e84bb796b8 100644 --- a/config/locales/crowdin/si.yml +++ b/config/locales/crowdin/si.yml @@ -1040,10 +1040,10 @@ si: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "සන්ධිස්ථාන සඳහා මෙය අවශ්ය වුවද ආරම්භක දිනයේ නොවේ." @@ -1073,15 +1073,17 @@ si: does_not_exist: "නිශ්චිත කාණ්ඩය නොපවතී." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ si: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "වැඩ පැකේජය ගුණ" setting_work_package_startdate_is_adddate: "නව වැඩ පැකේජ සඳහා ආරම්භක දිනය ලෙස වත්මන් දිනය භාවිතා කරන්න" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ si: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "අදහස් දක්වන්න" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/sk.yml b/config/locales/crowdin/sk.yml index e3a51bc2fc07..d94f2648ffbc 100644 --- a/config/locales/crowdin/sk.yml +++ b/config/locales/crowdin/sk.yml @@ -1054,10 +1054,10 @@ sk: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "nemá rovnakú hodnotu ako dátum začiatku, aj keď je to požadované pre pracovné balíčky typu \"míľnik\"." @@ -1087,15 +1087,17 @@ sk: does_not_exist: "Špecifikovaná kategória neexistuje." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3191,8 +3193,10 @@ sk: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Vlastnosti pracovného balíčka" setting_work_package_startdate_is_adddate: "Použiť aktuálny dátum ako počiatočný dátum pre nové pracovné balíčky" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3577,9 +3581,26 @@ sk: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Komentár" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/sl.yml b/config/locales/crowdin/sl.yml index 300b428d213f..28e79a652a23 100644 --- a/config/locales/crowdin/sl.yml +++ b/config/locales/crowdin/sl.yml @@ -1051,10 +1051,10 @@ sl: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "ni začeten datum, čeprav je to pomembno za mejnike." @@ -1084,15 +1084,17 @@ sl: does_not_exist: "Izbrana kategorija ne obstaja." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3188,8 +3190,10 @@ sl: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Lastnosti delovnega paketa" setting_work_package_startdate_is_adddate: "52/5000\nUporabite trenutni datum kot datum začetka za nove delovne pakete" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3574,9 +3578,26 @@ sl: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Komentar" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/sr.yml b/config/locales/crowdin/sr.yml index 903b16594a11..a4136d290e31 100644 --- a/config/locales/crowdin/sr.yml +++ b/config/locales/crowdin/sr.yml @@ -1047,10 +1047,10 @@ sr: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1080,15 +1080,17 @@ sr: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3155,8 +3157,10 @@ sr: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3540,9 +3544,26 @@ sr: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comment" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/sv.yml b/config/locales/crowdin/sv.yml index 2235b7ad1083..e0f687d32b91 100644 --- a/config/locales/crowdin/sv.yml +++ b/config/locales/crowdin/sv.yml @@ -1039,10 +1039,10 @@ sv: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "är inte på startdatum, även om detta behövs för milstolpar." @@ -1072,15 +1072,17 @@ sv: does_not_exist: "Den angivna kategorin finns inte." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3115,8 +3117,10 @@ sv: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Egenskaper för arbetspaket" setting_work_package_startdate_is_adddate: "Använda aktuellt datum som startdatum för nya arbetspaket" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3498,9 +3502,26 @@ sv: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Kommentar" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/th.yml b/config/locales/crowdin/th.yml index a7a937d21849..4cf3f4ec7fad 100644 --- a/config/locales/crowdin/th.yml +++ b/config/locales/crowdin/th.yml @@ -1033,10 +1033,10 @@ th: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1066,15 +1066,17 @@ th: does_not_exist: "ไม่มีประเภทที่ระบุ" estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3081,8 +3083,10 @@ th: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "คุณสมบัติของชุดภารกิจ" setting_work_package_startdate_is_adddate: "ใช้วันปัจจุบันเป็นวันเริ่มต้นสำหรับชุดภารกิจใหม่" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3464,9 +3468,26 @@ th: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "ความคิดเห็น" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/tr.yml b/config/locales/crowdin/tr.yml index 2b2027f029ec..688ef6f4531b 100644 --- a/config/locales/crowdin/tr.yml +++ b/config/locales/crowdin/tr.yml @@ -1039,10 +1039,10 @@ tr: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "kilometre taşları için gerekli olmasına rağmen başlangıç tarihi değil." @@ -1072,15 +1072,17 @@ tr: does_not_exist: "Belirtilen kategori yok." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "İş paketi salt okunur durumdadır, dolayısıyla öznitelikleri değiştirilemez." type: attributes: @@ -3114,8 +3116,10 @@ tr: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "İş paketi özellikleri" setting_work_package_startdate_is_adddate: "Yeni iş paketlerinde şu anki tarihi başlangıç tarihi olarak kullan" setting_work_packages_projects_export_limit: "İş paketleri / Projeler dışa aktarım limiti" @@ -3497,9 +3501,26 @@ tr: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Yorum" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/uk.yml b/config/locales/crowdin/uk.yml index 6cd6c728e0a3..98c60256fded 100644 --- a/config/locales/crowdin/uk.yml +++ b/config/locales/crowdin/uk.yml @@ -1048,10 +1048,10 @@ uk: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "не збігається зі значеннями атрибутів «Робота» й «Залишок роботи»" - cannot_be_set_when_work_is_zero: "не можна встановити, коли атрибут «Робота» дорівнює нулю" - must_be_set_when_remaining_work_is_set: "Потрібно вказати, якщо визначено атрибут «Залишок роботи»." - must_be_set_when_work_and_remaining_work_are_set: "Потрібно вказати, якщо визначено атрибути «Робота» й «Залишок роботи»." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "має бути в діапазоні від 0 до 100." due_date: not_start_date: "не на дату початку, хоча це потрібно для етапів." @@ -1081,15 +1081,17 @@ uk: does_not_exist: "Указана категорія не існує." estimated_hours: not_a_number: "– не дійсна тривалість." - cant_be_inferior_to_remaining_work: "Має дорівнювати значенню «Залишок робіт» або перевищувати його." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Потрібно вказати, якщо визначено атрибути «Залишок роботи» й «% завершення»." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "– не дійсна тривалість." - cant_exceed_work: "Не може перевищувати значення «Робота»." - must_be_set_when_work_is_set: "Потрібно вказати, якщо визначено атрибут «Робота»." - must_be_set_when_work_and_percent_complete_are_set: "Потрібно вказати, якщо визначено атрибути «Робота» й «% завершення»." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "Пакет робіт перебуває в стані лише для читання, тому його атрибути не можна змінити." type: attributes: @@ -3183,8 +3185,10 @@ uk: setting_work_package_done_ratio: "Обчислення прогресу" setting_work_package_done_ratio_field: "На основі роботи" setting_work_package_done_ratio_status: "На основі статусу" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - У режимі на основі роботи значення параметра «% завершення» залежить від частки виконаної роботи відносно загального обсягу робіт. У режимі на основі статусу кожен статус має пов’язане з ним значення параметра «% завершення». У разі змінення статусу змінюється й значення параметра «% завершення». + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Властивості робочого пакета" setting_work_package_startdate_is_adddate: "Використовувати поточну дату в якості дати початку роботи для нових пакетів" setting_work_packages_projects_export_limit: "Ліміт експорту пакетів робіт / проєктів" @@ -3568,9 +3572,26 @@ uk: progress: label_note: "Примітка." modal: - work_based_help_text: "Значення параметра «% завершення» автоматично виводиться зі значень параметрів «Робота» й «Залишок роботи»." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "Значення параметра «% завершення» визначається статусом пакета робіт." migration_warning_text: "У режимі обчислення прогресу на основі робіт значення параметра «% завершення» не можна встановити вручну й прив’язати до значення параметра «Робота». Наявне значення збережено, але його не можна змінити. Спочатку визначте параметр «Робота»." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Коментування" comment_description: "Може переглядати й коментувати цей пакет робіт." diff --git a/config/locales/crowdin/uz.yml b/config/locales/crowdin/uz.yml index 8251aa0ea660..021f91e952f8 100644 --- a/config/locales/crowdin/uz.yml +++ b/config/locales/crowdin/uz.yml @@ -1040,10 +1040,10 @@ uz: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match work and remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when work is zero" - must_be_set_when_remaining_work_is_set: "Required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "Required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "must be between 0 and 100." due_date: not_start_date: "is not on start date, although this is required for milestones." @@ -1073,15 +1073,17 @@ uz: does_not_exist: "The specified category does not exist." estimated_hours: not_a_number: "is not a valid duration." - cant_be_inferior_to_remaining_work: "Cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Required when Remaining work and % Complete are set." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "is not a valid duration." - cant_exceed_work: "Cannot be higher than Work." - must_be_set_when_work_is_set: "Required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "Required when Work and % Complete are set." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "The work package is in a readonly status so its attributes cannot be changed." type: attributes: @@ -3118,8 +3120,10 @@ uz: setting_work_package_done_ratio: "Progress calculation" setting_work_package_done_ratio_field: "Work-based" setting_work_package_done_ratio_status: "Status-based" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" setting_work_packages_projects_export_limit: "Work packages / Projects export limit" @@ -3502,9 +3506,26 @@ uz: progress: label_note: "Note:" modal: - work_based_help_text: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Complete is set by work package status." migration_warning_text: "In work-based progress calculation mode, % Complete cannot be manually set and is tied to Work. The existing value has been kept but cannot be edited. Please input Work first." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Comment" comment_description: "Can view and comment this work package." diff --git a/config/locales/crowdin/vi.yml b/config/locales/crowdin/vi.yml index d0cc03658ff1..fff5d7331f19 100644 --- a/config/locales/crowdin/vi.yml +++ b/config/locales/crowdin/vi.yml @@ -1035,10 +1035,10 @@ vi: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "không khớp với công việc và công việc còn lại" - cannot_be_set_when_work_is_zero: "không thể thiết lập khi công việc bằng không" - must_be_set_when_remaining_work_is_set: "Bắt buộc khi thiết lập Công việc còn lại." - must_be_set_when_work_and_remaining_work_are_set: "Bắt buộc khi thiết lập Công việc và Công việc còn lại." + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "phải nằm trong khoảng từ 0 đến 100." due_date: not_start_date: "không phải ngày bắt đầu, mặc dù điều này là cần thiết cho các mốc quan trọng." @@ -1068,15 +1068,17 @@ vi: does_not_exist: "Thể loại đã chỉ định không tồn tại." estimated_hours: not_a_number: "không phải là thời gian hợp lệ." - cant_be_inferior_to_remaining_work: "Không thể thấp hơn Công việc còn lại." - must_be_set_when_remaining_work_and_percent_complete_are_set: "Bắt buộc khi thiết lập Lượng công việc còn lại và % Hoàn thành." - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "không phải là thời gian hợp lệ." - cant_exceed_work: "Không thể cao hơn Công việc." - must_be_set_when_work_is_set: "Yêu cầu khi Công việc được đặt." - must_be_set_when_work_and_percent_complete_are_set: "Bắt buộc khi Công việc và % Hoàn thành được thiết lập." - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "Gói công việc đang ở trạng thái chỉ đọc nên các thuộc tính của nó không thể bị thay đổi." type: attributes: @@ -3083,8 +3085,10 @@ vi: setting_work_package_done_ratio: "Tính toán tiến độ" setting_work_package_done_ratio_field: "Dựa trên công việc" setting_work_package_done_ratio_status: "Dựa trên trạng thái" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - Trong chế độ dựa trên công việc, % Hoàn thành được tính từ mức độ công việc đã thực hiện so với tổng công việc. Trong chế độ dựa trên trạng thái, mỗi trạng thái có một giá trị % Hoàn thành liên kết. Thay đổi trạng thái sẽ thay đổi % Hoàn thành. + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "Thuộc tính gói công việc" setting_work_package_startdate_is_adddate: "Sử dụng ngày hiện tại làm ngày bắt đầu cho các gói công việc mới" setting_work_packages_projects_export_limit: "Giới hạn xuất gói công việc / Dự án" @@ -3465,9 +3469,26 @@ vi: progress: label_note: "Ghi chú:" modal: - work_based_help_text: "% Hoàn thành được tự động lấy từ Công việc và Công việc còn lại." + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "% Hoàn thành được thiết lập theo trạng thái của gói công việc." migration_warning_text: "Trong chế độ tính toán tiến độ dựa trên công việc, % Hoàn thành không thể được đặt thủ công và liên kết với Công việc. Giá trị hiện tại đã được giữ nhưng không thể chỉnh sửa. Vui lòng nhập Công việc trước." + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "Nhận xét" comment_description: "Có thể xem và nhận xét gói công việc này." diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index f62d76588b15..fb90dccf70c5 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -1029,10 +1029,10 @@ zh-CN: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "工作与剩余工作不匹配" - cannot_be_set_when_work_is_zero: "工作 为 零 时无法设置" - must_be_set_when_remaining_work_is_set: "设置 剩余工作 时必须" - must_be_set_when_work_and_remaining_work_are_set: "当设置了工作和剩余工作时必填。" + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "必须介于 0 和 100 之间。" due_date: not_start_date: "不是在开始日期开始,尽管这是必需的里程碑。" @@ -1062,15 +1062,17 @@ zh-CN: does_not_exist: "指定的类别不存在。" estimated_hours: not_a_number: "不是有效的持续时间。" - cant_be_inferior_to_remaining_work: "不能低于剩余工时。" - must_be_set_when_remaining_work_and_percent_complete_are_set: "设置 剩余工作 和 已完成% 时必填。" - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "不是有效的持续时间。" - cant_exceed_work: "不能高于工时。" - must_be_set_when_work_is_set: "当设置工时需要。" - must_be_set_when_work_and_percent_complete_are_set: "设置 工作 和 已完成% 时必填。" - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "工作包处于只读状态,因此无法更改其属性。" type: attributes: @@ -1621,9 +1623,9 @@ zh-CN: xls: label: "XLS" columns: - input_label_report: "Add columns to attribute table" - input_caption_report: "By default all attributes added as columns in the work package list are selected. Long text fields are not available in the attribute table, but can be displayed below it." - input_caption_table: "默认情况下,所有作为列添加到工作包列表中的属性都会被选中。长文本字段在基于表格的导出中不可用。" + input_label_report: "添加列到属性表" + input_caption_report: "默认情况下,所有添加到当前工作包列表中的列都会被选中。长文本字段在属性表中不可用,但可以显示在其下方。" + input_caption_table: "默认情况下,所有添加到当前工作包列表中的列都会被选中。长文本字段在基于表格的导出中不可用。" pdf: export_type: label: "PDF 导出类型" @@ -3071,8 +3073,10 @@ zh-CN: setting_work_package_done_ratio: "进度计算" setting_work_package_done_ratio_field: "基于工时" setting_work_package_done_ratio_status: "基于状态" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - 在基于工时模式下,完成百分比是根据已完成的工时占总工时的比例计算出来的。在基于状态模式下,每个状态都有一个与之相关的完成百分比。更改状态将改变完成百分比。 + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "工作包属性" setting_work_package_startdate_is_adddate: "使用当前日期作为新工作包的开始日期" setting_work_packages_projects_export_limit: "工作包/项目导出限制" @@ -3453,9 +3457,26 @@ zh-CN: progress: label_note: "注意:" modal: - work_based_help_text: "完成百分比由 \"工时\" 和 \"剩余工时\" 自动得出。" + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "完成百分比由工作包状态设定。" migration_warning_text: "在基于工时的进度计算模式下,完成百分比不能手动设置,而是与工时绑定。现有值已被保留,但无法编辑。请先输入工时。" + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "评论" comment_description: "可以查看和评论该工作包。" diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index e125f54884c2..2d3174e08898 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -264,8 +264,8 @@ zh-TW: no_results_title_text: 目前沒有專案 no_results_content_text: 建立新專案 search: - label: Project name filter - placeholder: Search by project name + label: 查詢專案名稱 + placeholder: 依專案名稱搜尋 lists: active: "啟用中的專案" my: "我的專案" @@ -1031,10 +1031,10 @@ zh-TW: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "工作與剩餘工作不匹配" - cannot_be_set_when_work_is_zero: "工作為零時無法設置" - must_be_set_when_remaining_work_is_set: "設置剩餘工作時需要" - must_be_set_when_work_and_remaining_work_are_set: "當設置了工作和剩餘工作時需要。" + does_not_match_work_and_remaining_work: "does not match Work and Remaining work" + cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" + must_be_set_when_remaining_work_is_set: "required when Remaining work is set." + must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." inclusion: "必須介於 0 和 100 之間。" due_date: not_start_date: "儘管日期是里程碑所必需的,但不是開始日期。" @@ -1064,15 +1064,17 @@ zh-TW: does_not_exist: "指定的類別不存在" estimated_hours: not_a_number: "不是有效的持續時間。" - cant_be_inferior_to_remaining_work: "不能低於剩餘工時。" - must_be_set_when_remaining_work_and_percent_complete_are_set: "設置 剩餘工作 和 已完成% 時必填。" - format: "%{message}" + cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "不是有效的持續時間。" - cant_exceed_work: "不能高於工時。" - must_be_set_when_work_is_set: "當設置工時需要。" - must_be_set_when_work_and_percent_complete_are_set: "設置 工作 和 已完成% 時必填。" - format: "%{message}" + cant_exceed_work: "cannot be higher than Work." + must_be_set_when_work_is_set: "required when Work is set." + must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- + must be 0h when Work is set and % Complete is 100%. + must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- + must be empty when Work is empty and % Complete is 100%. readonly_status: "工作項目處於唯讀狀態,因此無法變更其屬性。" type: attributes: @@ -1611,10 +1613,10 @@ zh-TW: subproject: "子專案: %{name}" export: dialog: - title: "Export" - submit: "Export" + title: "匯出" + submit: "匯出" format: - label: "File format" + label: "檔案格式" options: csv: label: "CSV" @@ -1623,58 +1625,58 @@ zh-TW: xls: label: "XLS" columns: - input_label_report: "Add columns to attribute table" - input_caption_report: "By default all attributes added as columns in the work package list are selected. Long text fields are not available in the attribute table, but can be displayed below it." - input_caption_table: "By default all attributes added as columns in the work package list are selected. Long text fields are not available in table based exports." + input_label_report: "將欄位新增至屬性表" + input_caption_report: "預設情況下,所有在工作項目清單中新增為欄位的屬性都會被選取。長文字欄位在屬性表中不可用,但可以顯示在屬性表下方。" + input_caption_table: "預設情況下,所有在工作項目清單中新增為欄位的屬性都會被選取。長文字欄位在以表格匯出中不可用。" pdf: export_type: - label: "PDF export type" + label: "PDF 匯出類型" options: table: - label: "Table" - caption: "Export the work packages list in a table with the desired columns." + label: "表格" + caption: "匯出所需欄位表格含有工作項目清單" report: - label: "Report" - caption: "Export the work package on a detailed report of all work packages in the list." + label: "報表" + caption: "在清單中所有工作項目的詳細報告上匯出工作項目。" gantt: - label: "Gantt chart" - caption: "Export the work packages list in a Gantt diagram view." + label: "甘特圖" + caption: "匯出甘特圖檢視中的工作項目清單。" include_images: - label: "Include images" - caption: "Exclude images to reduce the size of the PDF export." + label: "包含圖片" + caption: "排除影像以減少 PDF 匯出的大小。" gantt_zoom_levels: - label: "Zoom levels" - caption: "Select what is the zoom level for dates displayed in the chart." + label: "縮放等級" + caption: "選擇圖表中顯示日期的縮放程度。" options: - days: "Days" - weeks: "Weeks" - months: "Months" - quarters: "Quarters" + days: "天" + weeks: "週" + months: "月" + quarters: "季度" column_width: - label: "Table column width" + label: "表格列寬" options: - narrow: "Narrow" - medium: "Medium" - wide: "Wide" - very_wide: "Very wide" + narrow: "窄" + medium: "中" + wide: "寬" + very_wide: "非常寬" paper_size: - label: "Paper size" - caption: "Depending on the chart size more than one page might be exported." + label: "紙張大小" + caption: "視圖表大小而定,可能會輸出超過一頁。" long_text_fields: - input_caption: "By default all long text fields are selected." - input_label: "Add long text fields" - input_placeholder: "Search for long text fields" - drag_area_label: "Manage long text fields" + input_caption: "預設選取所有長文字欄位。" + input_label: "新增長文字欄位" + input_placeholder: "搜尋長文字欄位" + drag_area_label: "新增長文字欄位" xls: include_relations: - label: "Include relations" - caption: "This option will create a duplicate of each work package for every relation this has with another work package." + label: "包含相關連的" + caption: "此選項會針對每個工作項目與其他工作項目的關係,建立一個複本。" include_descriptions: - label: "Include descriptions" - caption: "This option will add a description column in raw format." - your_work_packages_export: "Work packages are being exported" - succeeded: "Export completed" - failed: "An error has occurred while trying to export the work packages: %{message}" + label: "包含說明" + caption: "此選項會在原始格式新增說明欄位。" + your_work_packages_export: "工作項目已匯出" + succeeded: "匯出完成" + failed: "嘗試匯出工作項目時發生錯誤: %{message}" format: atom: "Atom" csv: "CSV" @@ -3076,8 +3078,10 @@ zh-TW: setting_work_package_done_ratio: "進度計算" setting_work_package_done_ratio_field: "基於工時" setting_work_package_done_ratio_status: "基於狀態" + setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > + In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_done_ratio_explanation_html: > - 在基於工時模式中,"完成百分比"是根據已完成的工作量與總工作量來計算的。在 基於狀態 模式中,每個狀態都有一個與其關聯的完成百分比值。更改狀態將更改完成百分比。 + In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. setting_work_package_properties: "工作項目屬性" setting_work_package_startdate_is_adddate: "使用目前日期作為新工作項目的開始日期" setting_work_packages_projects_export_limit: "工作項目/專案匯出數量限制" @@ -3459,9 +3463,26 @@ zh-TW: progress: label_note: "備註" modal: - work_based_help_text: "完成百分比由 \"工時\" 和 \"剩餘工時\" 自動得出。" + work_based_help_text: "Each field is automatically calculated from the two others when possible." + work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." status_based_help_text: "完成百分比由工作包狀態設定。" migration_warning_text: "在「基於工時」進度計算模式下,完成百分比無法手動設置,並且與「工時」相關聯。目前手動輸入數值已保留,無法編輯。 請務必輸入「工時」才能進行。" + derivation_hints: + done_ratio: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + cleared_because_work_is_0h: "Cleared because Work is 0h." + derived: "Derived from Work and Remaining work." + estimated_hours: + cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." + derived: "Derived from Remaining work and % Complete." + same_as_remaining_work: "Set to same value as Remaining work." + remaining_hours: + cleared_because_work_is_empty: "Cleared because Work is empty." + cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." + decreased_like_work: "Decreased by the same amount as Work." + derived: "Derived from Work and % Complete." + increased_like_work: "Increased by the same amount as Work." + same_as_work: "Set to same value as Work." permissions: comment: "留言" comment_description: "可查看此工作項目與留言" diff --git a/modules/job_status/config/locales/crowdin/zh-TW.yml b/modules/job_status/config/locales/crowdin/zh-TW.yml index 2e10e058e678..17645a9787ac 100644 --- a/modules/job_status/config/locales/crowdin/zh-TW.yml +++ b/modules/job_status/config/locales/crowdin/zh-TW.yml @@ -4,18 +4,18 @@ zh-TW: name: "OpenProject 工作狀態" description: "背景工作列表及狀態" job_status_dialog: - download_starts: 'The download should start automatically.' - link_to_download: 'Or, %{link} to download.' - click_here: 'click here' - title: 'Background job status' - redirect: 'You are being redirected.' - redirect_link: 'Please click here to continue.' - redirect_errors: 'Due to these errors, you will not be redirected automatically.' - errors: 'Something went wrong' + download_starts: '將自動開始下載' + link_to_download: '或 %{link} 下載。' + click_here: '點選此處' + title: '背景工作狀態' + redirect: '正在重新導向。' + redirect_link: '請點擊此處繼續。' + redirect_errors: '由於這些錯誤,您將不會被自動重新導向。' + errors: '出了點問題' generic_messages: - not_found: 'This job could not be found.' - in_queue: 'The job has been queued and will be processed shortly.' - in_process: 'The job is currently being processed.' - error: 'The job has failed to complete.' - cancelled: 'The job has been cancelled due to an error.' - success: 'The job completed successfully.' + not_found: '無法找到此工作。' + in_queue: '該工作已加入排程,並將很快處理。' + in_process: '該工作正在處理中。' + error: '該工作未能完成。' + cancelled: '此工作由於發生錯誤而被取消。' + success: '此工作成功完成。' diff --git a/modules/meeting/config/locales/crowdin/cs.yml b/modules/meeting/config/locales/crowdin/cs.yml index 95429225e033..4c5affff2da4 100644 --- a/modules/meeting/config/locales/crowdin/cs.yml +++ b/modules/meeting/config/locales/crowdin/cs.yml @@ -182,7 +182,7 @@ cs: label_meeting_delete: "Smazat schůzku" label_meeting_created_by: "Vytvořil" label_meeting_last_updated: "Naposledy aktualizováno" - label_meeting_reload: "Reload" + label_meeting_reload: "Obnovit" label_agenda_items: "Bod programu" label_agenda_items_reordered: "přeřazeno" label_agenda_item_remove: "Odebrat z programu" diff --git a/modules/meeting/config/locales/crowdin/zh-CN.yml b/modules/meeting/config/locales/crowdin/zh-CN.yml index 6509ca97e682..992a0caedcdf 100644 --- a/modules/meeting/config/locales/crowdin/zh-CN.yml +++ b/modules/meeting/config/locales/crowdin/zh-CN.yml @@ -122,7 +122,7 @@ zh-CN: email: send_emails: "发送电子邮件" send_invitation_emails: > - Send an email invitation immediately to the participants selected above. You can also do this manually at any time later. + 立即向上面选定的参加者发送电子邮件邀请。您也可以在之后随时手动发送。 open_meeting_link: "打开会议" invited: summary: "%{actor} 已经向您发送了一个 %{title} 会议邀请" diff --git a/modules/meeting/config/locales/crowdin/zh-TW.yml b/modules/meeting/config/locales/crowdin/zh-TW.yml index ebe951801a41..b2d17c875bb5 100644 --- a/modules/meeting/config/locales/crowdin/zh-TW.yml +++ b/modules/meeting/config/locales/crowdin/zh-TW.yml @@ -122,7 +122,7 @@ zh-TW: email: send_emails: "發送電子郵件" send_invitation_emails: > - Send an email invitation immediately to the participants selected above. You can also do this manually at any time later. + 立即發送電子郵件邀請函給上述選定的與會者。您也可以稍後隨時手動執行。 open_meeting_link: "打開會議連結" invited: summary: "%{actor} 已經向您發送了一個 %{title} 會議邀請" @@ -147,7 +147,7 @@ zh-TW: empty_text: "將項目拖曳至此處或建立新項目" notice_successful_notification: "通知傳送成功" notice_timezone_missing: 沒有設定時區,預設時區為 %{zone} 。請按這裡選擇您的時區。 - notice_meeting_updated: "This page has been updated by someone else. Reload to view changes." + notice_meeting_updated: "本頁已由他人更新。重新載入以查看變更。" permission_create_meetings: "建立會議" permission_edit_meetings: "編輯會議" permission_delete_meetings: "刪除會議" @@ -179,7 +179,7 @@ zh-TW: label_meeting_delete: "刪除會議" label_meeting_created_by: "建立者" label_meeting_last_updated: "最後更新於" - label_meeting_reload: "Reload" + label_meeting_reload: "重新載入" label_agenda_items: "議程" label_agenda_items_reordered: "重新排列" label_agenda_item_remove: "從議程中刪除" diff --git a/modules/storages/config/locales/crowdin/cs.yml b/modules/storages/config/locales/crowdin/cs.yml index 2a2d50be7278..be575edbb947 100644 --- a/modules/storages/config/locales/crowdin/cs.yml +++ b/modules/storages/config/locales/crowdin/cs.yml @@ -62,7 +62,7 @@ cs: edit_project_folder: label: Edit project folder project_folder_mode: - automatic: Automatically managed + automatic: Automaticky spravované inactive: Žádná specifická složka manual: Existing folder manually managed remove_project: diff --git a/modules/storages/config/locales/crowdin/zh-TW.yml b/modules/storages/config/locales/crowdin/zh-TW.yml index 2f5c56c17ad5..50033cdfa363 100644 --- a/modules/storages/config/locales/crowdin/zh-TW.yml +++ b/modules/storages/config/locales/crowdin/zh-TW.yml @@ -31,7 +31,7 @@ zh-TW: attributes: host: authorization_header_missing: 未完全設置。Nextcloud 實例不會收到「Authorization」標頭,這是基於 Bearer 權杖(Token)API 請求授權所必需的。請仔細檢查您的 HTTP 服務器配置。 - cannot_be_connected_to: could not be reached. Please ensure the host is reachable and the OpenProject integration app is installed. + cannot_be_connected_to: 無法連線。請確認主機可以連線,且已安裝 OpenProject 整合應用程式。 minimal_nextcloud_version_unmet: 未滿足最低版本要求(必須為 Nextcloud 23 或更高版本) not_nextcloud_server: 不是一個 Nextcloud 的服務器 op_application_not_installed: 似乎沒有安裝應用「OpenProject 整合套件」。請先安裝,然後重試。 diff --git a/modules/two_factor_authentication/config/locales/crowdin/cs.yml b/modules/two_factor_authentication/config/locales/crowdin/cs.yml index a2edd8086d3f..288df8ef3ead 100644 --- a/modules/two_factor_authentication/config/locales/crowdin/cs.yml +++ b/modules/two_factor_authentication/config/locales/crowdin/cs.yml @@ -136,7 +136,7 @@ cs: description: | Use a one-time code generated by an authenticator like Authy or Google Authenticator. sms: - title: "Mobile device" + title: "Mobilní zařízení" redacted_identifier: "Mobilní zařízení (%{redacted_number})" request_2fa_identifier: "%{redacted_identifier}, zaslali jsme Vám ověřovací kód přes %{delivery_channel}" description: | From 279efd8cb89fafd6a0381e023a2354215fef842e Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Thu, 29 Aug 2024 03:13:08 +0000 Subject: [PATCH 018/147] update locales from crowdin [ci skip] --- config/locales/crowdin/cs.yml | 24 +++++++++---------- .../storages/config/locales/crowdin/cs.yml | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/config/locales/crowdin/cs.yml b/config/locales/crowdin/cs.yml index a11b5df05c9a..a35fb4c24371 100644 --- a/config/locales/crowdin/cs.yml +++ b/config/locales/crowdin/cs.yml @@ -268,7 +268,7 @@ cs: favored: "Oblíbené projekty" archived: "Archivované projekty" shared: "Sdílené seznamy projektů" - my_lists: "My project lists" + my_lists: "Moje seznamy projektů" new: placeholder: "Nový seznam projektů" delete_modal: @@ -491,7 +491,7 @@ cs: is_readonly: "Pouze pro čtení" excluded_from_totals: "Vyloučeno z celkových hodnot" themes: - dark: "Dark (Beta)" + dark: "Tmavý (Beta)" light: "Světlý" light_high_contrast: "Světlý kontrast" types: @@ -723,7 +723,7 @@ cs: is_closed: "Pracovní balíček uzavřen" is_readonly: "Pracovní balíček jen pro čtení" excluded_from_totals: "Exclude from calculation of totals in hierarchy" - default_done_ratio: "% Complete" + default_done_ratio: "% Dokončeno" time_entry: activity: "Aktivita" hours: "Hodiny" @@ -1931,7 +1931,7 @@ cs: label_ldap_auth_source_plural: "Připojení LDAP" label_attribute_expand_text: "Úplný text pro '%{attribute}'" label_authentication: "Ověření" - label_authentication_settings: "Authentication settings" + label_authentication_settings: "Nastavení ověření" label_available_global_roles: "Dostupné globální role" label_available_project_attributes: "Dostupné atributy projektu" label_available_project_forums: "Dostupná fóra" @@ -2129,7 +2129,7 @@ cs: label_introduction_video: "Seznamovací video" label_invite_user: "Pozvat uživatele" label_share: "Sdílet" - label_share_project_list: "Share project list" + label_share_project_list: "Sdílet seznam projektů" label_share_work_package: "Sdílet pracovní balíček" label_show_hide: "Zobrazit/skrýt" label_show_hide_n_items: "Show/hide %{count} items" @@ -2351,7 +2351,7 @@ cs: label_role_search: "Přiřadit roli novým členům" label_scm: "SCM" label_search: "Vyhledávání" - label_search_by_name: "Search by name" + label_search_by_name: "Hledat podle názvu" label_send_information: "Poslat nové přihlašovací údaje uživateli" label_send_test_email: "Odeslat testovací email" label_session: "Relace" @@ -2464,7 +2464,7 @@ cs: label_work_package_new: "Nový pracovní balíček" label_work_package_edit: "Upravit pracovní balíček %{name}" label_work_package_plural: "Pracovní balíčky" - label_work_packages_settings: "Work packages settings" + label_work_packages_settings: "Nastavení pracovních balíčků" label_work_package_status: "Stav pracovního balíčku" label_work_package_status_new: "Nový stav" label_work_package_status_plural: "Stav pracovního balíčku" @@ -2810,7 +2810,7 @@ cs: permission_edit_own_messages: "Upravit vlastní zprávy" permission_edit_own_time_entries: "Upravit vlastní časové záznamy" permission_edit_project: "Upravit projekt" - permission_edit_project_attributes: "Edit project attributes" + permission_edit_project_attributes: "Úprava atributů projektu" permission_edit_reportings: "Upravit přehledy" permission_edit_time_entries: "Upravit časové záznamy pro ostatní uživatele" permission_edit_timelines: "Úpravy časové osy" @@ -2861,7 +2861,7 @@ cs: permission_work_package_assigned: "Staňte se řešitelem/odpovědným" permission_work_package_assigned_explanation: "Pracovní balíčky mohou být přiřazeny uživatelům a skupinám, které tuto roli vlastní v příslušném projektu" permission_view_project_activity: "Zobrazit aktivitu projektu" - permission_view_project_attributes: "View project attributes" + permission_view_project_attributes: "Zobrazit atributy projektu" permission_save_bcf_queries: "Uložit dotazy BCF" permission_manage_public_bcf_queries: "Spravovat veřejné dotazy BCF." permission_edit_attribute_help_texts: "Upravit text nápovědy atributu" @@ -3088,9 +3088,9 @@ cs: setting_default_projects_public: "Nové projekty nastavovat jako veřejné" setting_diff_max_lines_displayed: "Maximální počet zobrazených řádků rozdílu" setting_display_subprojects_work_packages: "Automaticky zobrazit úkoly podprojektu v hlavním projektu" - setting_duration_format: "Duration format" - setting_duration_format_hours_only: "Hours only" - setting_duration_format_days_and_hours: "Days and hours" + setting_duration_format: "Formát doby trvání" + setting_duration_format_hours_only: "Pouze hodiny" + setting_duration_format_days_and_hours: "Dny a hodiny" setting_duration_format_instructions: "This defines how Work, Remaining work, and Time spent durations are displayed." setting_emails_footer: "Zápatí emailů" setting_emails_header: "Záhlaví emailů" diff --git a/modules/storages/config/locales/crowdin/cs.yml b/modules/storages/config/locales/crowdin/cs.yml index f1160c625275..af08dfa45f47 100644 --- a/modules/storages/config/locales/crowdin/cs.yml +++ b/modules/storages/config/locales/crowdin/cs.yml @@ -58,7 +58,7 @@ cs: project_module_storages: Soubory project_storages: project_folder_mode: - automatic: Automatically managed + automatic: Automaticky spravované inactive: Žádná specifická složka manual: Existing folder manually managed remove_project: From fa174f93d39d8c5a34dd92ed12087d9422dbe1b6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Aug 2024 05:24:13 +0000 Subject: [PATCH 019/147] build(deps-dev): bump selenium-webdriver from 4.23.0 to 4.24.0 Bumps [selenium-webdriver](https://github.com/SeleniumHQ/selenium) from 4.23.0 to 4.24.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Changelog](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.23.0...selenium-4.24.0) --- updated-dependencies: - dependency-name: selenium-webdriver dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index dd24b489df94..e1a6169c7465 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1056,7 +1056,7 @@ GEM secure_headers (6.5.0) selenium-devtools (0.127.0) selenium-webdriver (~> 4.2) - selenium-webdriver (4.23.0) + selenium-webdriver (4.24.0) base64 (~> 0.2) logger (~> 1.4) rexml (~> 3.2, >= 3.2.5) From 2cf9722020a320f9980ad3f1c88e9528fbedabaa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Aug 2024 05:24:42 +0000 Subject: [PATCH 020/147] build(deps-dev): bump selenium-devtools from 0.127.0 to 0.128.0 Bumps [selenium-devtools](https://github.com/SeleniumHQ/selenium) from 0.127.0 to 0.128.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Changelog](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES) - [Commits](https://github.com/SeleniumHQ/selenium/commits) --- updated-dependencies: - dependency-name: selenium-devtools dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index dd24b489df94..f45e95ae70bd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1054,7 +1054,7 @@ GEM crass (~> 1.0.2) nokogiri (>= 1.12.0) secure_headers (6.5.0) - selenium-devtools (0.127.0) + selenium-devtools (0.128.0) selenium-webdriver (~> 4.2) selenium-webdriver (4.23.0) base64 (~> 0.2) From e208eb35689efbf25dd3739de992e644dcb50b3a Mon Sep 17 00:00:00 2001 From: Christophe Bliard Date: Thu, 29 Aug 2024 10:12:42 +0200 Subject: [PATCH 021/147] Bumped version to 14.6.0 [ci skip] --- lib/open_project/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/open_project/version.rb b/lib/open_project/version.rb index 04fc0bfcb96e..843934d97407 100644 --- a/lib/open_project/version.rb +++ b/lib/open_project/version.rb @@ -32,7 +32,7 @@ module OpenProject module VERSION # :nodoc: MAJOR = 14 - MINOR = 5 + MINOR = 6 PATCH = 0 class << self From c6c2fb08886261e1531a654ad79d650c00f2d8d2 Mon Sep 17 00:00:00 2001 From: as-op Date: Thu, 29 Aug 2024 11:34:01 +0200 Subject: [PATCH 022/147] remove manual redirect pages (will be handled by site builder); sort dev setup docs; remove repeated content --- docs/README.md | 2 +- docs/development/README.md | 5 +-- docs/development/concepts/README.md | 22 ++++++------ .../application-architecture/README.md | 8 ----- .../create-openproject-plugin/README.md | 2 +- .../development-environment/README.md | 34 +++++++++++++++++++ .../docker-macos}/README.md | 3 +- .../docker}/README.md | 3 +- .../linux}/README.md | 24 +------------ .../macos}/README.md | 24 +------------ docs/development/environments/README.md | 10 ------ docs/development/localhost-ssl/README.md | 9 +---- .../product-development-handbook/README.md | 2 +- docs/development/releases/README.md | 3 -- docs/development/running-tests/README.md | 6 ++-- .../installation/manual/README.md | 5 --- 16 files changed, 59 insertions(+), 103 deletions(-) delete mode 100644 docs/development/concepts/application-architecture/README.md create mode 100644 docs/development/development-environment/README.md rename docs/development/{development-environment-docker-macos => development-environment/docker-macos}/README.md (96%) rename docs/development/{development-environment-docker => development-environment/docker}/README.md (99%) rename docs/development/{development-environment-ubuntu => development-environment/linux}/README.md (90%) rename docs/development/{development-environment-osx => development-environment/macos}/README.md (90%) delete mode 100644 docs/development/environments/README.md delete mode 100644 docs/development/releases/README.md diff --git a/docs/README.md b/docs/README.md index 84d3456a947b..e7dff7774c12 100644 --- a/docs/README.md +++ b/docs/README.md @@ -39,7 +39,7 @@ Please see our [Use Cases section](./use-cases/) for detailed how-to guides and ## Development -* [Full development environment for developers on Ubuntu](./development/development-environment-ubuntu) and [Mac OS X](./development/development-environment-osx) +* [Full development environment for developers](./development/development-environment) * [Developing plugins](./development/create-openproject-plugin) * [Developing OmniAuth Plugins](./development/create-omniauth-plugin) * [Running tests](./development/running-tests) diff --git a/docs/development/README.md b/docs/development/README.md index aee88f742be9..5b091adb4e83 100644 --- a/docs/development/README.md +++ b/docs/development/README.md @@ -96,10 +96,7 @@ If you want to contribute to OpenProject, please make sure to accept our Contrib ## Additional resources -* [Development environment for Ubuntu 18.04](development-environment-ubuntu) -* [Development environment for Mac OS X](development-environment-osx) -* [Development environment using docker](development-environment-docker) - +* [Development environment](development-environment) * [Developing Plugins](create-openproject-plugin) * [Running Tests](running-tests) * [API Documentation](../api) diff --git a/docs/development/concepts/README.md b/docs/development/concepts/README.md index e41d5fc66eda..784312f9d056 100644 --- a/docs/development/concepts/README.md +++ b/docs/development/concepts/README.md @@ -12,14 +12,14 @@ This guide will introduce some concepts and give you a big picture of the develo Please choose an area that you would like to read about: -| Topic | Content | -|------------------------------------------------------|:------------------------------------------------------------------------------| -| [Application architecture](application-architecture) | An introduction of the application architecture used at OpenProject. | -| [State management](state-management) | How does the frontend handle state and react to changes? | -| [HAL resources](hal-resources) | What are HAL resources and how are they used in the frontend? | -| [Permissions](permissions) | How are roles and permissions handled in OpenProject code? | -| [Translations](translations) | How are translations used and built? | -| [Resource schemas](resource-schemas) | What is a schema and how is it tied to an editable resource? | -| [Resource changesets](resource-changesets) | How is change tracked to resources in the frontend? How to save the changes. | -| [Inline editing](inline-editing) | How does inline editing and the edit field functionality work in OpenProject? | -| [Queries and QuerySpace](queries) | What is the Query API concept and how is it used in the frontend? | +| Topic | Content | +|---------------------------------------------------------|:------------------------------------------------------------------------------| +| [Application architecture](../application-architecture) | An introduction of the application architecture used at OpenProject. | +| [State management](state-management) | How does the frontend handle state and react to changes? | +| [HAL resources](hal-resources) | What are HAL resources and how are they used in the frontend? | +| [Permissions](permissions) | How are roles and permissions handled in OpenProject code? | +| [Translations](translations) | How are translations used and built? | +| [Resource schemas](resource-schemas) | What is a schema and how is it tied to an editable resource? | +| [Resource changesets](resource-changesets) | How is change tracked to resources in the frontend? How to save the changes. | +| [Inline editing](inline-editing) | How does inline editing and the edit field functionality work in OpenProject? | +| [Queries and QuerySpace](queries) | What is the Query API concept and how is it used in the frontend? | diff --git a/docs/development/concepts/application-architecture/README.md b/docs/development/concepts/application-architecture/README.md deleted file mode 100644 index 0e48122469fa..000000000000 --- a/docs/development/concepts/application-architecture/README.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -sidebar_navigation: - title: Application architecture ---- - -# Application architecture - -This guide has been integrated into the [application architecture documentation](../../application-architecture/). diff --git a/docs/development/create-openproject-plugin/README.md b/docs/development/create-openproject-plugin/README.md index 4300f774b669..6f43cb25a369 100644 --- a/docs/development/create-openproject-plugin/README.md +++ b/docs/development/create-openproject-plugin/README.md @@ -136,7 +136,7 @@ It is probably best to use READMEs of already released plugins as a template. Activity, Issue Tracking, Time Tracking, Forums, and Backlogs are default. Also, the My Project Page should only show Project Description and Tickets blocks. 3. Create a news article about the newly released plugin and its features. -4. Twitter with a link to the news article. +4. Share a link to the news article on social media. 5. If the plugin is referenced in our feature tour, add a download link to the plugin in the feature tour ## Frontend plugins [WIP] diff --git a/docs/development/development-environment/README.md b/docs/development/development-environment/README.md new file mode 100644 index 000000000000..58ecee41d708 --- /dev/null +++ b/docs/development/development-environment/README.md @@ -0,0 +1,34 @@ +--- +sidebar_navigation: + title: Development setup +description: OpenProject development setup +keywords: development setup +--- + +# OpenProject development setup + +| OS/Method | Description | +|------------------------------------|-----------------------------------------------------------------------------------| +| [Ubuntu / Debian](linux) | Develop setup on Linux | +| [via docker](docker) | The quickest way to get started developing OpenProject is to use the docker setup | +| [via docker (MacOS)](docker-macos) | MacOS specific docker topics | +| [MacOS](macos) | Develop setup on MacOS | + + +### Start Coding + +Please have a look at [our development guidelines](../code-review-guidelines/) for tips and guides on how to start +coding. We have advice on how to get your changes back into the OpenProject core as smooth as possible. +Also, take a look at the `doc` directory in our sources, especially +the [how to run tests](../running-tests) documentation (we like to have automated tests for every new developed feature). + +### Troubleshooting + +The OpenProject logfile can be found in `log/development.log`. + +If an error occurs, it should be logged there (as well as in the output to STDOUT/STDERR of the rails server process). + +### Questions, Comments, and Feedback + +If you have any further questions, comments, feedback, or an idea to enhance this guide, please tell us at the +appropriate [forum](https://community.openproject.org/projects/openproject/boards/9). diff --git a/docs/development/development-environment-docker-macos/README.md b/docs/development/development-environment/docker-macos/README.md similarity index 96% rename from docs/development/development-environment-docker-macos/README.md rename to docs/development/development-environment/docker-macos/README.md index 4457931890fc..7ff3c7c3bb1f 100644 --- a/docs/development/development-environment-docker-macos/README.md +++ b/docs/development/development-environment/docker-macos/README.md @@ -1,13 +1,14 @@ --- sidebar_navigation: title: Development setup via docker on MacOS + short_title: Setup via Docker on MacOS description: OpenProject development setup via docker on MacOS keywords: development setup docker macos --- # OpenProject development setup via docker (MacOS) -This guide covers observed nuances with the docker runtime on MacOS. Please ensure you've gone through the general [OpenProject development setup via docker](../development-environment-docker) guide before proceeding. +This guide covers observed nuances with the docker runtime on MacOS. Please ensure you've gone through the general [OpenProject development setup via docker](../docker) guide before proceeding. ## Docker on MacOS File System Performance diff --git a/docs/development/development-environment-docker/README.md b/docs/development/development-environment/docker/README.md similarity index 99% rename from docs/development/development-environment-docker/README.md rename to docs/development/development-environment/docker/README.md index d74283ec7735..a0131770acfc 100644 --- a/docs/development/development-environment-docker/README.md +++ b/docs/development/development-environment/docker/README.md @@ -1,6 +1,7 @@ --- sidebar_navigation: title: Development setup via docker + short_title: Setup via Docker description: OpenProject development setup via docker keywords: development setup docker --- @@ -464,7 +465,7 @@ Once the keycloak service is started and running, you can access the keycloak in and login with initial username and password as `admin`. Keycloak being an OpenID connect provider, we need to setup an OIDC integration for OpenProject. -[Setup OIDC (keycloak) integration for OpenProject](../../installation-and-operations/misc/custom-openid-connect-providers/#keycloak) +[Setup OIDC (keycloak) integration for OpenProject](../../../installation-and-operations/misc/custom-openid-connect-providers/#keycloak) Once the above setup is completed, In the root `docker-compose.override.yml` file, uncomment all the environment in `backend` service for keycloak and set the values according to configuration done in keycloak for OpenProject Integration. diff --git a/docs/development/development-environment-ubuntu/README.md b/docs/development/development-environment/linux/README.md similarity index 90% rename from docs/development/development-environment-ubuntu/README.md rename to docs/development/development-environment/linux/README.md index 995a021b55a1..94e719700759 100644 --- a/docs/development/development-environment-ubuntu/README.md +++ b/docs/development/development-environment/linux/README.md @@ -1,6 +1,7 @@ --- sidebar_navigation: title: Development setup on Debian / Ubuntu + short_title: Setup on Debian / Ubuntu description: OpenProject development setup on Debian / Ubuntu keywords: development setup debian ubuntu linux --- @@ -18,8 +19,6 @@ shall NOT be present before. **Please note**: This guide is NOT suitable for a production setup, but only for developing with it! -Remark: *At the time of writing* in this page refers to 12/10/2021 - If you find any bugs or you have any recommendations for improving this tutorial, please, feel free to send a pull request or comment in the [OpenProject forums](https://community.openproject.org/projects/openproject/boards). @@ -350,24 +349,3 @@ in a production setting.** ```shell RAILS_ENV=development bin/rails runner "Delayed::Job.delete_all" ``` - -### Start Coding - -Please have a look at [our development guidelines](../code-review-guidelines/) for tips and guides on how to start -coding. We have advice on how to get your changes back into the OpenProject core as smooth as possible. -Also, take a look at the `doc` directory in our sources, especially -the [how to run tests](https://github.com/opf/openproject/tree/dev/docs/development/running-tests) documentation (we -like to have automated tests for every new developed feature). - -### Troubleshooting - -The OpenProject logfile can be found in `log/development.log`. - -If an error occurs, it should be logged there (as well as in the output to STDOUT/STDERR of the rails server process). - -### Questions, Comments, and Feedback - -If you have any further questions, comments, feedback, or an idea to enhance this guide, please tell us at the -appropriate community.openproject.org [forum](https://community.openproject.org/projects/openproject/boards/9). -[Follow OpenProject on twitter](https://twitter.com/openproject), and -follow [the news](https://www.openproject.org/blog) to stay up to date. diff --git a/docs/development/development-environment-osx/README.md b/docs/development/development-environment/macos/README.md similarity index 90% rename from docs/development/development-environment-osx/README.md rename to docs/development/development-environment/macos/README.md index 1ba17bd97e1c..5d1ed3b0e16c 100644 --- a/docs/development/development-environment-osx/README.md +++ b/docs/development/development-environment/macos/README.md @@ -1,6 +1,7 @@ --- sidebar_navigation: title: Development setup on MacOS + short_title: Setup on MacOS description: OpenProject development setup on Mac OS keywords: development setup macos --- @@ -207,8 +208,6 @@ Now, run the following tasks to migrate and seed the dev database, and prepare t RAILS_ENV=development bin/rails db:seed ``` -1 - ### Run OpenProject through overmind You can run all required workers of OpenProject through `overmind`, which combines them in a single tab. Optionally, you @@ -334,24 +333,3 @@ in a production setting.** ```shell RAILS_ENV=development bin/rails runner "Delayed::Job.delete_all" ``` - -### Start Coding - -Please have a look at [our development guidelines](../code-review-guidelines) for tips and guides on how to start -coding. We have advice on how to get your changes back into the OpenProject core as smooth as possible. -Also, take a look at the `doc` directory in our sources, especially -the [how to run tests](https://github.com/opf/openproject/blob/dev/docs/development/running-tests) documentation (we -like to have automated tests for every new developed feature). - -### Troubleshooting - -The OpenProject logfile can be found in `log/development.log`. - -If an error occurs, it should be logged there (as well as in the output to STDOUT/STDERR of the rails server process). - -### Questions, Comments, and Feedback - -If you have any further questions, comments, feedback, or an idea to enhance this guide, please tell us at the -appropriate community.openproject.org [forum](https://community.openproject.org/projects/openproject/boards/9). -[Follow OpenProject on twitter](https://twitter.com/openproject), and -follow [the news](https://www.openproject.org/blog) to stay up to date. diff --git a/docs/development/environments/README.md b/docs/development/environments/README.md deleted file mode 100644 index 11b7bdeaffa7..000000000000 --- a/docs/development/environments/README.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -sidebar_navigation: - title: Environments -description: Get an overview of the different environments at play in the development phases of OpenProject -keywords: environments, CI, development ---- - -# Environments - -This guide has been integrated into the [application architecture documentation](../application-architecture/). diff --git a/docs/development/localhost-ssl/README.md b/docs/development/localhost-ssl/README.md index 3af70041e542..58e95f916909 100644 --- a/docs/development/localhost-ssl/README.md +++ b/docs/development/localhost-ssl/README.md @@ -93,7 +93,7 @@ application server. You can do that with `/usr/sbin/setsebool -P httpd_can_netwo ## Step 4: Configure OpenProject for HTTPS usage We assume you have already configured your OpenProject local development environment -as [described in this guide](../development-environment-ubuntu). You will need to add your custom host name +as [described in this guide](../development-environment). You will need to add your custom host name to the environment. You can use this variable to do so. ```yaml @@ -133,10 +133,3 @@ setup a reverse proxy in docker, like [traefik](https://traefik.io/). Then follo > **Reminder**: This setup is still experimental and under further development. Use it only, when you know what you are doing. - -## Questions, Comments, and Feedback - -If you have any further questions, comments, feedback, or an idea to enhance this guide, please tell us at the -appropriate community.openproject.org [forum](https://community.openproject.org/projects/openproject/boards/9). -[Follow OpenProject on twitter](https://twitter.com/openproject), and -follow [the news](https://www.openproject.org/blog) to stay up to date. diff --git a/docs/development/product-development-handbook/README.md b/docs/development/product-development-handbook/README.md index e6c60f96e640..eb3690209e85 100644 --- a/docs/development/product-development-handbook/README.md +++ b/docs/development/product-development-handbook/README.md @@ -343,7 +343,7 @@ The entire team documents possible improvements for the next release. ### 4.1 Version/Release -A version is the name given to a collection of features and/or bugfixes. A release is the publicly available version of the OpenProject software. More information is provided on the [release page](../releases/). +A version is the name given to a collection of features and/or bugfixes. A release is the publicly available version of the OpenProject software. More information is provided on the [Application architecture page](../application-architecture/#patch-and-change-management). ### 4.2 RICE Score diff --git a/docs/development/releases/README.md b/docs/development/releases/README.md deleted file mode 100644 index d21561c7da86..000000000000 --- a/docs/development/releases/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Releases - -This page has been integrated into the [application architecture guide](../application-architecture/#patch-and-change-management). diff --git a/docs/development/running-tests/README.md b/docs/development/running-tests/README.md index 3f482e5797eb..d833d8886f4d 100644 --- a/docs/development/running-tests/README.md +++ b/docs/development/running-tests/README.md @@ -119,7 +119,7 @@ Smoke tests are automated and manual tests to ensure the main application featur **Best practices** - Automate smoke testing on top of manual testing when possible -- Run after deployments to the appropriate [environments](../environments), e.g., the edge environment for features of the next release and staging environment for bug fixes to a stable release +- Run after deployments to the appropriate [environments](../application-architecture/#environments), e.g., the edge environment for features of the next release and staging environment for bug fixes to a stable release - Keep smoke tests updated so that they can evolve together with the application **References** @@ -251,7 +251,7 @@ Upgrade tests are manually performed for major code changes and data migrations #### Usability testing -When new features or changes to the application are available on our [Edge or Community environments](../environments), product team members, customers, and community users can provide usability feedback on how the change is perceived. +When new features or changes to the application are available on our [Edge or Community environments](../application-architecture/#environments), product team members, customers, and community users can provide usability feedback on how the change is perceived. **Key objectives and effects** @@ -725,7 +725,7 @@ good as a test server. ### Running tests locally in Docker Most of the above applies to running tests locally, with some docker specific setup changes that are discussed [in the -docker development documentation](../development-environment-docker). +docker development documentation](../development-environment/docker). ### Generators diff --git a/docs/installation-and-operations/installation/manual/README.md b/docs/installation-and-operations/installation/manual/README.md index 1664c77b412f..ca8887e63dff 100644 --- a/docs/installation-and-operations/installation/manual/README.md +++ b/docs/installation-and-operations/installation/manual/README.md @@ -456,8 +456,3 @@ If you need to restart the server (for example after a configuration change), do With each new OpenProject core version, the plug-ins might need to be updated. Please make sure that the plug-in versions of all you plug-ins works with the OpenProject version you use. Many plug-ins follow the OpenProject version with their version number (So, if you have installed OpenProject version 4.1.0, the plug-in should also have the version 4.1.0). - -## Questions, comments, and feedback - -If you have any further questions, comments, feedback, or an idea to enhance this guide, please tell us at the appropriate community [forum](https://community.openproject.org/projects/openproject/boards/9). -[Follow OpenProject on twitter](https://twitter.com/openproject), and follow the news on [openproject.org](https://www.openproject.org) to stay up to date. From 2a9b43d7a5584cb74ada4220e03000038c1db3ef Mon Sep 17 00:00:00 2001 From: Marcello Rocha Date: Thu, 29 Aug 2024 16:50:06 +0200 Subject: [PATCH 023/147] Adds a log entry on FilesInfoQuery --- .../nextcloud/files_info_query.rb | 1 + .../one_drive/files_info_query.rb | 17 ++++++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_info_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_info_query.rb index dd7fa8ac98bc..25faa2fa58c1 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_info_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_info_query.rb @@ -56,6 +56,7 @@ def call(auth_strategy:, file_ids:) return ServiceResult.success(result: []) end + info "Retrieving file information for #{file_ids.join(', ')}" http_options = Util.ocs_api_request.deep_merge(Util.accept_json) Authentication[auth_strategy].call(storage: @storage, http_options:) do |http| parsed_response = files_info(http, file_ids).on_failure { return _1 }.result diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_info_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_info_query.rb index 939027ac7524..d1d7a9982143 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_info_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_info_query.rb @@ -52,17 +52,20 @@ def call(auth_strategy:, file_ids:) ) end - result = Array(file_ids).map do |file_id| - file_info_result = FileInfoQuery.call(storage: @storage, auth_strategy:, file_id:) + with_tagged_logger do + info "Retrieving file information for #{file_ids.join(', ')}" + result = Array(file_ids).map do |file_id| + file_info_result = FileInfoQuery.call(storage: @storage, auth_strategy:, file_id:) - file_info_result.on_failure do |failed_result| - return failed_result if failed_result.error_source.module_parent == AuthenticationStrategies + file_info_result.on_failure do |failed_result| + return failed_result if failed_result.error_source.module_parent == AuthenticationStrategies + end + + wrap_storage_file_error(file_id, file_info_result) end - wrap_storage_file_error(file_id, file_info_result) + ServiceResult.success(result:) end - - ServiceResult.success(result:) end private From 1d4115c6b203daa8849ff829d47b47fff479c454 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Fri, 30 Aug 2024 03:05:31 +0000 Subject: [PATCH 024/147] update locales from crowdin [ci skip] --- config/locales/crowdin/js-zh-CN.yml | 10 +++--- config/locales/crowdin/js-zh-TW.yml | 2 +- config/locales/crowdin/zh-CN.yml | 54 ++++++++++++++--------------- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/config/locales/crowdin/js-zh-CN.yml b/config/locales/crowdin/js-zh-CN.yml index 0f05cecbe644..e70f8b25452e 100644 --- a/config/locales/crowdin/js-zh-CN.yml +++ b/config/locales/crowdin/js-zh-CN.yml @@ -138,8 +138,8 @@ zh-CN: description_select_work_package: "选择工作包 #%{id}" description_subwork_package: "子工作包 #%{id}" editor: - revisions: "Show local modifications" - no_revisions: "No local modifications found" + revisions: "显示本地修改" + no_revisions: "未找到本地修改" preview: "切换预览模式" source_code: "切换 Markdown 模式" error_saving_failed: "保存文档失败,出现以下错误:%{error}" @@ -278,9 +278,9 @@ zh-CN: 更改可能需要一些时间才能生效。当更新完所有相关工作包时,您将收到通知。 work_packages_settings: warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- - Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + 将进度计算模式从基于状态改为基于工时,将使% 完成变为不可编辑字段,其值来自工时剩余工时% 完成现有值将保留。如果没有 工时剩余工时的值,则需要这些值才能更改 % 完成。 warning_progress_calculation_mode_change_from_status_to_field_html: >- - Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. + 将进度计算模式从基于状态改为基于工时,将使% 完成字段可自由编辑。如果您选择输入工时剩余工时的值,它们也将与% 完成相关联。更改剩余工时就可以更新% 完成。 warning_progress_calculation_mode_change_from_field_to_status_html: >- 将进度计算模式从基于工时的方式改为基于状态,将会导致所有现有的 %完整的 值丢失,并被与每个状态相关的值所替代。 剩余工时 的现有值也可能被重新计算,以反映这种变化。此操作不可逆转。 custom_actions: @@ -401,7 +401,7 @@ zh-CN: label_create: "创建" label_create_work_package: "创建新工作包" label_created_by: "创建自" - label_current: "current" + label_current: "当前" label_date: "日期" label_date_with_format: "以%{format} 的格式输入 %{date_attribute}" label_deactivate: "停用" diff --git a/config/locales/crowdin/js-zh-TW.yml b/config/locales/crowdin/js-zh-TW.yml index e29caa69fbcb..c9bc01ae3ace 100644 --- a/config/locales/crowdin/js-zh-TW.yml +++ b/config/locales/crowdin/js-zh-TW.yml @@ -400,7 +400,7 @@ zh-TW: label_create: "建立" label_create_work_package: "建立新的工作項目" label_created_by: "建立者:" - label_current: "current" + label_current: "目前" label_date: "日期" label_date_with_format: "輸入 %{date_attribute} 使用以下格式: %{format}" label_deactivate: "停用" diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index fb90dccf70c5..90615fc3d625 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -1029,10 +1029,10 @@ zh-CN: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match Work and Remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" - must_be_set_when_remaining_work_is_set: "required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "工时与剩余工时不匹配" + cannot_be_set_when_work_is_zero: "当工时为 0h 时无法设置" + must_be_set_when_remaining_work_is_set: "设置“剩余工时”时必填。" + must_be_set_when_work_and_remaining_work_are_set: "设置“工时”和“剩余工时”时必填。" inclusion: "必须介于 0 和 100 之间。" due_date: not_start_date: "不是在开始日期开始,尽管这是必需的里程碑。" @@ -1062,17 +1062,17 @@ zh-CN: does_not_exist: "指定的类别不存在。" estimated_hours: not_a_number: "不是有效的持续时间。" - cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." + cant_be_inferior_to_remaining_work: "不能低于剩余工时。" + must_be_set_when_remaining_work_and_percent_complete_are_set: "设置“剩余工时”和“% 完成”时必填。" remaining_hours: not_a_number: "不是有效的持续时间。" - cant_exceed_work: "cannot be higher than Work." - must_be_set_when_work_is_set: "required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + cant_exceed_work: "不能高于工时。" + must_be_set_when_work_is_set: "设置“工时”时必填。" + must_be_set_when_work_and_percent_complete_are_set: "设置“工时”和“% 完成”时必填。" must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- - must be 0h when Work is set and % Complete is 100%. + 当“工时”已设置,且“% 完成”为 100%时,必须为0h。 must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- - must be empty when Work is empty and % Complete is 100%. + 当“工时”为空,且“% 完成”为 100%时,必须为空。 readonly_status: "工作包处于只读状态,因此无法更改其属性。" type: attributes: @@ -3074,9 +3074,9 @@ zh-CN: setting_work_package_done_ratio_field: "基于工时" setting_work_package_done_ratio_status: "基于状态" setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + 在基于工时模式下,“% 完成”是根据已完成的工时占总工时的比例计算出来的。在基于状态模式下,每个状态都有一个与之相关的“% 完成”。更改状态将改变“% 完成”。 setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + 在基于工作的模式下,“% 完成”可以自由设置为任何值。如果选择输入 "工时 "值,则会自动得出 "剩余工时"。在基于状态的模式下,每个状态都有一个与之相关的“% 完成”值。更改状态将改变“% 完成”。 setting_work_package_properties: "工作包属性" setting_work_package_startdate_is_adddate: "使用当前日期作为新工作包的开始日期" setting_work_packages_projects_export_limit: "工作包/项目导出限制" @@ -3457,26 +3457,26 @@ zh-CN: progress: label_note: "注意:" modal: - work_based_help_text: "Each field is automatically calculated from the two others when possible." - work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "在可能的情况下,每个字段都会根据另外两个字段自动计算。" + work_based_help_text_pre_14_4_without_percent_complete_edition: "“% 完成”由 \"工时\" 和 \"剩余工时\" 自动得出。" status_based_help_text: "完成百分比由工作包状态设定。" migration_warning_text: "在基于工时的进度计算模式下,完成百分比不能手动设置,而是与工时绑定。现有值已被保留,但无法编辑。请先输入工时。" derivation_hints: done_ratio: - cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." - cleared_because_work_is_0h: "Cleared because Work is 0h." - derived: "Derived from Work and Remaining work." + cleared_because_remaining_work_is_empty: "已清空,因为“剩余工时”为空。" + cleared_because_work_is_0h: "已清空,因为 \"工时 \"为 0h。" + derived: "源自“工时”和“剩余工时”。" estimated_hours: - cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." - derived: "Derived from Remaining work and % Complete." - same_as_remaining_work: "Set to same value as Remaining work." + cleared_because_remaining_work_is_empty: "已清空,因为“剩余工时”为空。" + derived: "由“剩余工时”和“% 完成”得出" + same_as_remaining_work: "设置为与“剩余工时”相同的值。" remaining_hours: - cleared_because_work_is_empty: "Cleared because Work is empty." - cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." - decreased_like_work: "Decreased by the same amount as Work." - derived: "Derived from Work and % Complete." - increased_like_work: "Increased by the same amount as Work." - same_as_work: "Set to same value as Work." + cleared_because_work_is_empty: "已清空,因为 \"工时 \"为空。" + cleared_because_percent_complete_is_empty: "已清空,因为“% 完成”为空。" + decreased_like_work: "减少与 \"工时 \"相同的数额。" + derived: "由“工时”和“% 完成”得出" + increased_like_work: "增加与 \"工时 \"相同的数额。" + same_as_work: "设置为与 \"工时 \"相同的值。" permissions: comment: "评论" comment_description: "可以查看和评论该工作包。" From dee10ba9e1290e0424f6ed55fe56d9ea834f5e37 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Fri, 30 Aug 2024 03:10:30 +0000 Subject: [PATCH 025/147] update locales from crowdin [ci skip] --- config/locales/crowdin/cs.yml | 54 ++++++++-------- config/locales/crowdin/de.yml | 28 ++++---- config/locales/crowdin/id.yml | 2 +- config/locales/crowdin/it.yml | 14 ++-- config/locales/crowdin/js-ca.yml | 4 +- config/locales/crowdin/js-id.yml | 2 +- config/locales/crowdin/js-no.yml | 2 +- config/locales/crowdin/js-ro.yml | 4 +- config/locales/crowdin/js-ru.yml | 2 +- config/locales/crowdin/js-vi.yml | 2 +- config/locales/crowdin/js-zh-CN.yml | 10 +-- config/locales/crowdin/js-zh-TW.yml | 2 +- config/locales/crowdin/pl.yml | 2 +- config/locales/crowdin/ro.yml | 4 +- config/locales/crowdin/sl.yml | 4 +- config/locales/crowdin/tr.yml | 2 +- config/locales/crowdin/uk.yml | 2 +- config/locales/crowdin/vi.yml | 2 +- config/locales/crowdin/zh-CN.seeders.yml | 4 +- config/locales/crowdin/zh-CN.yml | 64 +++++++++---------- config/locales/crowdin/zh-TW.yml | 8 +-- .../backlogs/config/locales/crowdin/zh-TW.yml | 2 +- modules/bim/config/locales/crowdin/fr.yml | 2 +- modules/budgets/config/locales/crowdin/cs.yml | 2 +- .../config/locales/crowdin/zh-CN.yml | 2 +- .../config/locales/crowdin/zh-TW.yml | 2 +- modules/meeting/config/locales/crowdin/cs.yml | 4 +- .../meeting/config/locales/crowdin/zh-TW.yml | 2 +- .../reporting/config/locales/crowdin/ro.yml | 2 +- .../config/locales/crowdin/zh-TW.yml | 4 +- .../config/locales/crowdin/js-fr.yml | 2 +- .../config/locales/crowdin/ro.yml | 2 +- .../config/locales/crowdin/ru.yml | 2 +- .../config/locales/crowdin/uk.yml | 2 +- .../config/locales/crowdin/zh-CN.yml | 2 +- 35 files changed, 125 insertions(+), 125 deletions(-) diff --git a/config/locales/crowdin/cs.yml b/config/locales/crowdin/cs.yml index ec5ed0a63091..72f8d5b2bffb 100644 --- a/config/locales/crowdin/cs.yml +++ b/config/locales/crowdin/cs.yml @@ -462,7 +462,7 @@ cs: irreversible: "Tato akce je nevratná" confirmation: "Zadejte název zástupného uživatele %{name} pro potvrzení odstranění." upsale: - title: placeholder uživatel + title: Placeholder uživatel description: > Placeholder uživatelé jsou způsob, jak přiřadit pracovní balíčky uživatelům, kteří nejsou součástí vašeho projektu. Mohou být užiteční v řadě scénářů; například, pokud potřebujete sledovat úkoly u zdroje, který ještě nejsou pojmenovány nebo dostupné, nebo pokud nechcete této osobě umožnit přístup k OpenProject ale stále chcete sledovat úkoly, které jim byly přiděleny. prioritiies: @@ -684,7 +684,7 @@ cs: false: "archivováno" identifier: "Identifikátor" latest_activity_at: "Poslední aktivita" - parent: "Podprojekt" + parent: "Nadřazený projekt" public_value: title: "Viditelnost" true: "veřejný" @@ -790,7 +790,7 @@ cs: true: "zahrnuje nepracovní dny" notify: "Oznámit" #used in custom actions parent: "Nadřazený" - parent_issue: "Rodič" + parent_issue: "Nadřazený" parent_work_package: "Nadřazený" priority: "Priorita" progress: "% Dokončeno" @@ -920,7 +920,7 @@ cs: blank: "je povinné. Zvolte prosím název." not_unique: " už bylo použito. Prosím vyberte jiný název." notifications: - at_least_one_channel: "Alespoň jeden kanál pro odesílání oznámení musí být specifikován." + at_least_one_channel: "Pro odesílání notifikací musí být specifikován alespoň jeden kanál" attributes: read_ian: read_on_creation: "nelze nastavit na pravdivé při vytváření oznámení " @@ -1172,11 +1172,11 @@ cs: member: "Člen" news: "Novinky" notification: - one: "Oznámení" - few: "Oznámení" - many: "Oznámení" - other: "Oznámení" - placeholder_user: "placeholder uživatel" + one: "Notifikace" + few: "Notifikací" + many: "Notifikací" + other: "Notifikace" + placeholder_user: "Placeholder uživatel" project: "Projekt" project_query: one: "Seznam projektů" @@ -1890,7 +1890,7 @@ cs: instructions_after_error: "Zkuste se znovu přihlásit kliknutím na %{signin}. Pokud chyba přetrvává, požádejte správce o pomoc." menus: admin: - mail_notification: "E-mailová upozornění" + mail_notification: "E-mailové notifikace" mails_and_notifications: "E-maily a oznámení" aggregation: "Agregace" api_and_webhooks: "API & Webhooky" @@ -1953,7 +1953,7 @@ cs: by_project: "Nepřečteno dle projektu" by_reason: "Důvod" inbox: "Doručená pošta" - send_notifications: "Odeslat oznámení pro tuto akci" + send_notifications: "Pro tuto akci odeslat notifikaci" work_packages: subject: created: "Pracovní balíček byl vytvořen." @@ -2346,9 +2346,9 @@ cs: label_permissions: "Práva" label_permissions_report: "Přehled oprávnění" label_personalize_page: "Přizpůsobit tuto stránku" - label_placeholder_user: "placeholder uživatel" + label_placeholder_user: "Placeholder uživatel" label_placeholder_user_new: "" - label_placeholder_user_plural: "placeholder uživatelé" + label_placeholder_user_plural: "Placeholder uživatelé" label_planning: "Plánování" label_please_login: "Přihlaste se prosím" label_plugins: "Pluginy" @@ -2370,7 +2370,7 @@ cs: label_project_attribute_plural: "Atributy projektu" label_project_attribute_manage_link: "Správa atributů produktu" label_project_count: "Celkový počet projektů" - label_project_copy_notifications: "Během kopie projektu odeslat oznámení e-mailem" + label_project_copy_notifications: "Během kopírování projektu odeslat notifikace e-mailem" label_project_latest: "Nejnovější projekty" label_project_default_type: "Povolit prázdný typ" label_project_hierarchy: "Hierarchie projektu" @@ -2510,7 +2510,7 @@ cs: label_users_settings: "Uživatelská nastavení" label_version_new: "Nová verze" label_version_plural: "Verze" - label_version_sharing_descendants: "S Podprojekty" + label_version_sharing_descendants: "S podprojekty" label_version_sharing_hierarchy: "S hierarchií projektu" label_version_sharing_none: "Není sdíleno" label_version_sharing_system: "Se všemi projekty" @@ -2616,28 +2616,28 @@ cs: digests: including_mention_singular: "včetně zmínky" including_mention_plural: "včetně %{number_mentioned} zmínění" - unread_notification_singular: "1 nepřečtené oznámení" - unread_notification_plural: "%{number_unread} nepřečtených oznámení" + unread_notification_singular: "1 nepřečtená notifikace" + unread_notification_plural: "%{number_unread} nepřečtených notifikací" you_have: "Máte" logo_alt_text: "Logo" mention: subject: "%{user_name} vás zmínil v #%{id} - %{subject}" notification: - center: "Centrum oznámení" + center: "Centrum notifikací" see_in_center: "Zobrazit komentář v oznamovacím centru" settings: "Změnit nastavení e-mailu" salutation: "Ahoj %{user}!" salutation_full_name: "Jméno a příjmení" work_packages: created_at: "Vytvořeno v %{timestamp} uživatelem %{user} " - login_to_see_all: "Přihlaste se pro zobrazení všech oznámení." + login_to_see_all: "Přihlaste se pro zobrazení všech notifikací." mentioned: "Byli jste zmíněni v komentáři" mentioned_by: "%{user} vás zmínil v komentáři" more_to_see: - one: "Existuje ještě 1 pracovní balíček s oznámeními." - few: "Existuje ještě %{count} pracovních balíčků s oznámeními." - many: "Existuje ještě %{count} pracovních balíčků s oznámeními." - other: "Existuje ještě %{count} pracovních balíčků s oznámeními." + one: "Existuje ještě 1 pracovní balíček s notifikací." + few: "Existuje ještě %{count} pracovních balíčků s notifikacema." + many: "Existuje ještě %{count} pracovních balíčků s notifikacema." + other: "Existuje ještě %{count} pracovních balíčků s notifikacema." open_in_browser: "Otevřít v prohlížeči" reason: watched: "Sledováno" @@ -2646,7 +2646,7 @@ cs: mentioned: "Zmíněné" shared: "Sdílené" subscribed: "vše" - prefix: "Obdrženo z důvodu nastavení oznámení: %{reason}" + prefix: "Obdrženo z důvodu nastavení notifikací: %{reason}" date_alert_start_date: "Upozornění na datum" date_alert_due_date: "Upozornění na datum" see_all: "Zobrazit vše" @@ -2920,7 +2920,7 @@ cs: permission_move_work_packages: "Přesun pracovních balíčků" permission_protect_wiki_pages: "Ochrana stránky wiki" permission_rename_wiki_pages: "Přejmenovat stránky wiki" - permission_save_queries: "Uložit pohled" + permission_save_queries: "Uložit zobrazení" permission_search_project: "Hledat projekt" permission_select_custom_fields: "Vybrat vlastní pole" permission_select_project_custom_fields: "Vyberte atributy projektu" @@ -3299,7 +3299,7 @@ cs: enable_subscriptions_text_html: Umožňuje uživatelům s nezbytnými oprávněními přihlásit se do OpenProject kalendářů a získat přístup k informacím o pracovním balíčku prostřednictvím externího klienta kalendáře. Poznámka: Před povolením si prosím přečtěte iCalendar předplatné. language_name_being_default: "%{language_name} (výchozí)" notifications: - events_explanation: "Určuje, pro kterou událost je odeslán e-mail. Pracovní balíčky jsou z tohoto seznamu vyloučeny, protože oznámení pro ně mohou být nastavena speciálně pro každého uživatele." + events_explanation: "Určuje, pro kterou událost je odeslán e-mail. Pracovní balíčky jsou z tohoto seznamu vyloučeny, protože notifikace pro ně mohou být nastavena speciálně pro každého uživatele." delay_minutes_explanation: "Odesílání e-mailu může být pozdrženo, aby bylo uživatelům s nakonfigurovaným v oznámení aplikace před odesláním pošty potvrzeno oznámení. Uživatelé, kteří si přečtou oznámení v aplikaci, nedostanou e-mail pro již přečtené oznámení." other: "Ostatní" passwords: "Hesla" @@ -3384,7 +3384,7 @@ cs: text_destroy_with_associated: "Existují další objekty, které jsou přiřazeny k pracovním balíčkům a které mají být odstraněny. Tyto objekty jsou následující typy:" text_destroy_what_to_do: "Co chcete udělat?" text_diff_truncated: "... Toto rozlišení bylo zkráceno, protože přesahuje maximální velikost, kterou lze zobrazit." - text_email_delivery_not_configured: "Doručení e-mailu není nakonfigurováno a oznámení jsou zakázána.\nNakonfigurujte váš SMTP server pro jejich povolení." + text_email_delivery_not_configured: "Doručení e-mailu není nakonfigurováno a notifikace jsou zakázány.\nNakonfigurujte váš SMTP server pro jejich povolení." text_enumeration_category_reassign_to: "Přiřadit je k této hodnotě:" text_enumeration_destroy_question: "%{count} objektů je přiřazeno k této hodnotě." text_file_repository_writable: "Do adresáře příloh lze zapisovat" diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index a883c3319fe0..65cbe6b291d7 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -48,7 +48,7 @@ de: main-menu-border-color: "Rahmenfarbe des Hauptmenüs" custom_colors: "Benutzerdefinierte Farben" customize: "Passen Sie Ihre OpenProject Installation mit Ihrem eigenen Logo und eigenen Farben an." - enterprise_notice: "Diese kleine Erweiterung steht den Abonnenten der Enterprise edition ganz exklusiv als kleines Dankeschön für deren finanzielle Unterstützung zur Verfügung." + enterprise_notice: "Dieses kleine Add-on steht den Abonnenten der Enterprise-Edition ganz exklusiv als kleines Dankeschön für deren finanzielle Unterstützung zur Verfügung." enterprise_more_info: "Hinweis: Das verwendete Logo wird öffentlich zugänglich sein." manage_colors: "Farbauswahloptionen bearbeiten" instructions: @@ -61,15 +61,15 @@ de: main-menu-bg-color: "Hintergrundfarbe des Menüs in der linken Seitenleiste." theme_warning: Das Ändern des Themes wird Ihr benutzerdefiniertes Design überschreiben. Alle Änderungen werden dann verloren gehen. Sind Sie sicher, dass Sie fortfahren möchten? enterprise: - upgrade_to_ee: "Auf Enterprise edition upgraden" - add_token: "Enterprise edition Support Token hochladen" + upgrade_to_ee: "Auf Enterprise-Edition upgraden" + add_token: "Enterprise-Edition Support Token hochladen" delete_token_modal: - text: "Sind Sie sicher, dass Sie das aktuelle Enterprise edition token entfernen möchten?" + text: "Sind Sie sicher, dass Sie das aktuelle Enterprise Edition-Token entfernen möchten?" title: "Token löschen" replace_token: "Aktuellen Enterprise edition Support Token ersetzen" order: "Enterprise on-premises bestellen" - paste: "Enterprise edition Support Token hier einfügen" - required_for_feature: "Dieses Add-on ist nur mit einem aktiven Enterprise edition Support-Token verfügbar." + paste: "Enterprise-Edition Support Token hier einfügen" + required_for_feature: "Dieses Add-on ist nur mit einem aktiven Enterprise-Edition Support-Token verfügbar." enterprise_link: "Klicken Sie hier für weitere Informationen." start_trial: "Kostenlose Testversion starten" book_now: "Jetzt buchen" @@ -1591,7 +1591,7 @@ de: error_cookie_missing: "Das OpenProject Cookie fehlt. Bitte stellen Sie sicher, dass Cookies aktiviert sind, da diese Applikation ohne aktivierte Cookies nicht korrekt funktioniert." error_custom_option_not_found: "Option ist nicht vorhanden." error_enterprise_activation_user_limit: "Ihr Konto konnte nicht aktiviert werden (Nutzerlimit erreicht). Bitte kontaktieren Sie Ihren Administrator um Zugriff zu erhalten." - error_enterprise_token_invalid_domain: "Die Enterprise edition ist nicht aktiv. Die aktuelle Domain (%{actual}) entspricht nicht dem erwarteten Hostnamen (%{expected})." + error_enterprise_token_invalid_domain: "Die Enterprise-Edition ist nicht aktiv. Die aktuelle Domain (%{actual}) entspricht nicht dem erwarteten Hostnamen (%{expected})." error_failed_to_delete_entry: "Fehler beim Löschen dieses Eintrags." error_in_dependent: "Fehler beim Versuch, abhängiges Objekt zu ändern: %{dependent_class} #%{related_id} - %{related_subject}: %{error}" error_in_new_dependent: "Fehler beim Versuch, abhängiges Objekt zu erstellen: %{dependent_class} - %{related_subject}: %{error}" @@ -1756,10 +1756,10 @@ de: blocks: community: "OpenProject Community" upsale: - title: "Auf Enterprise edition upgraden" + title: "Auf Enterprise-Edition upgraden" more_info: "Weitere Informationen" links: - upgrade_enterprise_edition: "Auf Enterprise edition upgraden" + upgrade_enterprise_edition: "Auf Enterprise-Edition upgraden" postgres_migration: "Migration Ihrer Installation zu PostgreSQL" user_guides: "Benutzerhandbuch" faq: "Häufig gestellte Fragen" @@ -1793,7 +1793,7 @@ de: dates: working: "%{date} ist jetzt ein Arbeitstag" non_working: "%{date} ist jetzt ein arbeitsfreier Tag" - progress_mode_changed_to_status_based: Fortschrittberechnung wurde auf Status-basiert gesetzt + progress_mode_changed_to_status_based: Fortschrittberechnung wurde auf Status-bezogen gesetzt status_excluded_from_totals_set_to_false_message: jetzt in den Gesamtwerten der Hierarchie enthalten status_excluded_from_totals_set_to_true_message: jetzt von den Hierarchie-Gesamtwerten ausgeschlossen status_percent_complete_changed: "% vollständig von %{old_value}% auf %{new_value} % geändert" @@ -2065,7 +2065,7 @@ de: label_enumerations: "Aufzählungen" label_enterprise: "Enterprise" label_enterprise_active_users: "%{current}/%{limit} gebuchte aktive Nutzer" - label_enterprise_edition: "Enterprise edition" + label_enterprise_edition: "Enterprise Edition" label_enterprise_support: "Enterprise Support" label_enterprise_addon: "Enterprise Add-on" label_environment: "Umgebung" @@ -3009,8 +3009,8 @@ de: update_timeout: "Speichere die Informationen bzgl. des genutzten Festplattenspeichers eines Projektarchivs für N Minuten.\nErhöhen Sie diesen Wert zur Verbesserung der Performance, da die Erfassung des genutzten Festplattenspeichers Ressourcen-intensiv ist." oauth_application_details: "Der Client Geheimcode wird nach dem Schließen dieses Fensters nicht mehr zugänglich sein. Bitte kopieren Sie diese Werte in die Nextcloud OpenProject Integrationseinstellungen:" oauth_application_details_link_text: "Zu den Einstellungen gehen" - setup_documentation_details: "Wenn Sie Hilfe bei der Konfiguration eines neuen Datei-Speichers benötigen, konsultieren Sie bitte die Dokumentation: " - setup_documentation_details_link_text: "Datei-Speicher einrichten" + setup_documentation_details: "Wenn Sie Hilfe bei der Konfiguration eines neuen Dateispeichers benötigen, konsultieren Sie bitte die Dokumentation: " + setup_documentation_details_link_text: "Dateispeicher einrichten" show_warning_details: "Um diesen Dateispeicher nutzen zu können, müssen Sie das Modul und den spezifischen Speicher in den Projekteinstellungen jedes gewünschten Projekts aktivieren." subversion: existing_title: "Vorhandenes Subversion Projektarchiv" @@ -3470,7 +3470,7 @@ de: warning_user_limit_reached_admin: > Das Hinzufügen zusätzlicher Benutzer überschreitet das aktuelle Benutzerlimit. Bitte aktualisieren Sie Ihr Abonnement um sicherzustellen, dass externe Benutzer auf diese Instanz zugreifen können. warning_user_limit_reached_instructions: > - Du hast dein Nutzerlimit erreicht (%{current}/%{max} active users). Bitte kontaktiere sales@openproject.com um deinen Enterprise edition Plan upzugraden und weitere Nutzer hinzuzufügen. + Du hast dein Nutzerlimit erreicht (%{current}/%{max} active users). Bitte kontaktiere sales@openproject.com um deinen Enterprise Edition Plan upzugraden und weitere Nutzer hinzuzufügen. warning_protocol_mismatch_html: > warning_bar: diff --git a/config/locales/crowdin/id.yml b/config/locales/crowdin/id.yml index fc6d5d91aa9a..84eef066d0d7 100644 --- a/config/locales/crowdin/id.yml +++ b/config/locales/crowdin/id.yml @@ -2055,7 +2055,7 @@ id: label_file_plural: "File" label_filter_add: "Tambah Filter" label_filter: "Filter" - label_filter_plural: "Filter" + label_filter_plural: "Penyaring" label_filters_toggle: "Tampilkan/Sembunyikan penyaringan" label_float: "Float" label_folder: "Folder" diff --git a/config/locales/crowdin/it.yml b/config/locales/crowdin/it.yml index ab5d960a9014..bd6e4af4e2d5 100644 --- a/config/locales/crowdin/it.yml +++ b/config/locales/crowdin/it.yml @@ -64,11 +64,11 @@ it: upgrade_to_ee: "Aggiorna a Enterprise edition" add_token: "Carica un token di assistenza per Enterprise edition" delete_token_modal: - text: "Vuoi davvero rimuovere il token Enterprise edition attualmente utilizzato?" + text: "Vuoi davvero rimuovere il token Enterprise Edition attualmente utilizzato?" title: "Elimina token" replace_token: "Sostituisci il token di assistenza attuale" order: "Ordina l'edizione Enterprise on-premises" - paste: "Incolla il tuo token di assistenza per Enterprise edition" + paste: "Incolla il tuo token di assistenza per Enterprise Edition" required_for_feature: "Questa aggiunta è disponibile solo con un token di assistenza Enterprise Edition attivo." enterprise_link: "Per ulteriori informazioni, clicca qui." start_trial: "Inizia la prova gratuita" @@ -804,7 +804,7 @@ it: confirmation: "non coincide con %{attribute}." could_not_be_copied: "%{dependency} non può essere (completamente) copiato." does_not_exist: "non esiste." - error_enterprise_only: "%{action} è disponibile solo in OpenProject Enterprise edition" + error_enterprise_only: "%{action} è disponibile solo in OpenProject Enterprise Edition" error_unauthorized: "potrebbe non essere accessibile." error_readonly: "è in sola lettura, pertanto non è stato possibile modificarlo." error_conflict: "L'informazione è stata aggiornata da almeno un altro utente nel frattempo." @@ -1594,7 +1594,7 @@ it: error_cookie_missing: "Il cookie di OpenProject è mancante. Prego, verifica che i cookie siano attivati, questa applicazione non funziona correttamente senza." error_custom_option_not_found: "L'opzione non esiste." error_enterprise_activation_user_limit: "Il tuo account potrebbe non essere attivo (raggiunto il limite utente). Si prega di contattare l'amministratore per ottenere l'accesso." - error_enterprise_token_invalid_domain: "L'Enterprise edition non è attiva. Il dominio del token Enterprise (%{actual}) non corrisponde al nome host del sistema (%{expected})." + error_enterprise_token_invalid_domain: "L'Enterprise Edition non è attiva. Il dominio del token Enterprise (%{actual}) non corrisponde al nome host del sistema (%{expected})." error_failed_to_delete_entry: "Cancellazione voce non riuscita." error_in_dependent: "Errore nel tentativo di modificare l'oggetto dipendente: %{dependent_class} #%{related_id} - %{related_subject}: %{error}" error_in_new_dependent: "Errore nel tentativo di creare un oggetto dipendente: %{dependent_class} - %{related_subject}: %{error}" @@ -1759,10 +1759,10 @@ it: blocks: community: "Comunità di OpenProject" upsale: - title: "Aggiorna ad Enterprise edition" + title: "Aggiorna ad Enterprise Edition" more_info: "Altre informazioni" links: - upgrade_enterprise_edition: "Aggiorna ad Enterprise edition" + upgrade_enterprise_edition: "Aggiorna ad Enterprise Edition" postgres_migration: "Migrazione dell'installazione su PostgreSQL" user_guides: "Guide utente" faq: "FAQ" @@ -2068,7 +2068,7 @@ it: label_enumerations: "Enumerazioni" label_enterprise: "Enterprise" label_enterprise_active_users: "%{current}/%{limit} utenti attivi riservati" - label_enterprise_edition: "Enterprise edition" + label_enterprise_edition: "Enterprise Edition" label_enterprise_support: "Supporto per Imprese" label_enterprise_addon: "Componente aggiuntivo Enterprise" label_environment: "Ambiente" diff --git a/config/locales/crowdin/js-ca.yml b/config/locales/crowdin/js-ca.yml index 748575e1696a..f6796c90e146 100644 --- a/config/locales/crowdin/js-ca.yml +++ b/config/locales/crowdin/js-ca.yml @@ -102,7 +102,7 @@ ca: button_save: "Desa" button_settings: "Configuració" button_uncheck_all: "Desmarca-ho tot" - button_update: "Actualitza" + button_update: "Actualitzar" button_export-pdf: "Descarregar PDF" button_export-atom: "Descarregar Atom" button_create: "Crear" @@ -757,7 +757,7 @@ ca: label: "Pausa els correu electrònic recordatori temporalment" first_day: "Primer dia" last_day: "Últim dia" - text_are_you_sure: "N'esteu segur?" + text_are_you_sure: "N'estas segur?" text_data_lost: "Totes les dades entrades es perdran." text_user_wrote: "%{value} va escriure:" types: diff --git a/config/locales/crowdin/js-id.yml b/config/locales/crowdin/js-id.yml index 55f9a40004f1..e133255e427f 100644 --- a/config/locales/crowdin/js-id.yml +++ b/config/locales/crowdin/js-id.yml @@ -102,7 +102,7 @@ id: button_save: "Simpan" button_settings: "Pengaturan" button_uncheck_all: "Uncek semua" - button_update: "Update" + button_update: "Perbarui" button_export-pdf: "Download PDF" button_export-atom: "Download Atom" button_create: "Buat baru" diff --git a/config/locales/crowdin/js-no.yml b/config/locales/crowdin/js-no.yml index ce8edd7cc2a5..7758851695d3 100644 --- a/config/locales/crowdin/js-no.yml +++ b/config/locales/crowdin/js-no.yml @@ -102,7 +102,7 @@ button_save: "Lagre" button_settings: "Innstillinger" button_uncheck_all: "Avmerk alle" - button_update: "Oppdatèr" + button_update: "Oppdater" button_export-pdf: "Last ned PDF" button_export-atom: "Last ned Atom" button_create: "Opprett" diff --git a/config/locales/crowdin/js-ro.yml b/config/locales/crowdin/js-ro.yml index 5bb6939aab9a..3f474cdde792 100644 --- a/config/locales/crowdin/js-ro.yml +++ b/config/locales/crowdin/js-ro.yml @@ -102,7 +102,7 @@ ro: button_save: "Salvează" button_settings: "Setări" button_uncheck_all: "Deselectează tot" - button_update: "Actualizare" + button_update: "Actualizează" button_export-pdf: "Descarcă PDF" button_export-atom: "Descarcă Atom" button_create: "Creează" @@ -757,7 +757,7 @@ ro: label: "Întrerupeți temporar memento-urile zilnice prin e-mail" first_day: "Prima zi" last_day: "Ultima zi" - text_are_you_sure: "Sunteți sigur?" + text_are_you_sure: "Ești sigur?" text_data_lost: "Toate datele introduse vor fi pierdute." text_user_wrote: "%{value} a scris:" types: diff --git a/config/locales/crowdin/js-ru.yml b/config/locales/crowdin/js-ru.yml index 21bdcfaf1463..b454f9ee123c 100644 --- a/config/locales/crowdin/js-ru.yml +++ b/config/locales/crowdin/js-ru.yml @@ -102,7 +102,7 @@ ru: button_save: "Сохранить" button_settings: "Настройки" button_uncheck_all: "Снять все отметки" - button_update: "Обновление" + button_update: "Обновить" button_export-pdf: "Скачать PDF" button_export-atom: "Скачать Atom" button_create: "Создать" diff --git a/config/locales/crowdin/js-vi.yml b/config/locales/crowdin/js-vi.yml index 60856c46ea82..665f62f99cee 100644 --- a/config/locales/crowdin/js-vi.yml +++ b/config/locales/crowdin/js-vi.yml @@ -102,7 +102,7 @@ vi: button_save: "Lưu" button_settings: "Cài đặt" button_uncheck_all: "Bỏ chọn tất cả" - button_update: "Cập Nhật" + button_update: "Cập nhật" button_export-pdf: "Tải xuống PDF" button_export-atom: "Tải xuống Atom" button_create: "Tạo" diff --git a/config/locales/crowdin/js-zh-CN.yml b/config/locales/crowdin/js-zh-CN.yml index 0f05cecbe644..e70f8b25452e 100644 --- a/config/locales/crowdin/js-zh-CN.yml +++ b/config/locales/crowdin/js-zh-CN.yml @@ -138,8 +138,8 @@ zh-CN: description_select_work_package: "选择工作包 #%{id}" description_subwork_package: "子工作包 #%{id}" editor: - revisions: "Show local modifications" - no_revisions: "No local modifications found" + revisions: "显示本地修改" + no_revisions: "未找到本地修改" preview: "切换预览模式" source_code: "切换 Markdown 模式" error_saving_failed: "保存文档失败,出现以下错误:%{error}" @@ -278,9 +278,9 @@ zh-CN: 更改可能需要一些时间才能生效。当更新完所有相关工作包时,您将收到通知。 work_packages_settings: warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- - Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + 将进度计算模式从基于状态改为基于工时,将使% 完成变为不可编辑字段,其值来自工时剩余工时% 完成现有值将保留。如果没有 工时剩余工时的值,则需要这些值才能更改 % 完成。 warning_progress_calculation_mode_change_from_status_to_field_html: >- - Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. + 将进度计算模式从基于状态改为基于工时,将使% 完成字段可自由编辑。如果您选择输入工时剩余工时的值,它们也将与% 完成相关联。更改剩余工时就可以更新% 完成。 warning_progress_calculation_mode_change_from_field_to_status_html: >- 将进度计算模式从基于工时的方式改为基于状态,将会导致所有现有的 %完整的 值丢失,并被与每个状态相关的值所替代。 剩余工时 的现有值也可能被重新计算,以反映这种变化。此操作不可逆转。 custom_actions: @@ -401,7 +401,7 @@ zh-CN: label_create: "创建" label_create_work_package: "创建新工作包" label_created_by: "创建自" - label_current: "current" + label_current: "当前" label_date: "日期" label_date_with_format: "以%{format} 的格式输入 %{date_attribute}" label_deactivate: "停用" diff --git a/config/locales/crowdin/js-zh-TW.yml b/config/locales/crowdin/js-zh-TW.yml index e29caa69fbcb..c9bc01ae3ace 100644 --- a/config/locales/crowdin/js-zh-TW.yml +++ b/config/locales/crowdin/js-zh-TW.yml @@ -400,7 +400,7 @@ zh-TW: label_create: "建立" label_create_work_package: "建立新的工作項目" label_created_by: "建立者:" - label_current: "current" + label_current: "目前" label_date: "日期" label_date_with_format: "輸入 %{date_attribute} 使用以下格式: %{format}" label_deactivate: "停用" diff --git a/config/locales/crowdin/pl.yml b/config/locales/crowdin/pl.yml index 67fefcc4b648..f8ee29dc4695 100644 --- a/config/locales/crowdin/pl.yml +++ b/config/locales/crowdin/pl.yml @@ -818,7 +818,7 @@ pl: confirmation: "nie pasuje do %{attribute}." could_not_be_copied: "Nie można było (w pełni) skopiować %{dependency}." does_not_exist: "nie istnieje." - error_enterprise_only: "%{action} jest dostępna tylko w OpenProject Enterprise edition" + error_enterprise_only: "%{action} jest dostępna tylko w OpenProject Enterprise Edition" error_unauthorized: "— nie można uzyskac dostępu." error_readonly: "— podjęto próbę zapisu, ale nie jest zapisywalny." error_conflict: "Information has been updated by at least one other user in the meantime." diff --git a/config/locales/crowdin/ro.yml b/config/locales/crowdin/ro.yml index cf80e3dee3cd..18f916b57fff 100644 --- a/config/locales/crowdin/ro.yml +++ b/config/locales/crowdin/ro.yml @@ -2093,7 +2093,7 @@ ro: label_duplicated_by: "dublat de" label_duplicate: "duplicat" label_duplicates: "dublează" - label_edit: "Editare" + label_edit: "Editează" label_edit_x: "Editare: %{x}" label_enable_multi_select: "Comutare selecție multiplă" label_enabled_project_custom_fields: "Câmpuri personalizate activate" @@ -2145,7 +2145,7 @@ ro: label_generate_key: "Generare cheie" label_git_path: "Calea catre directorul .git" label_greater_or_equal: ">=" - label_group_by: "Grupare după" + label_group_by: "Grupează după" label_group_new: "Grupare nouă" label_group: "Grup" label_group_named: "Grup %{name}" diff --git a/config/locales/crowdin/sl.yml b/config/locales/crowdin/sl.yml index 28e79a652a23..00fed2c09ece 100644 --- a/config/locales/crowdin/sl.yml +++ b/config/locales/crowdin/sl.yml @@ -1502,8 +1502,8 @@ sl: - "avgust" - "september" - "oktober" - - "November" - - "December" + - "november" + - "december" order: - :leto - :mesec diff --git a/config/locales/crowdin/tr.yml b/config/locales/crowdin/tr.yml index 688ef6f4531b..68269daef45a 100644 --- a/config/locales/crowdin/tr.yml +++ b/config/locales/crowdin/tr.yml @@ -1229,7 +1229,7 @@ tr: base: "Genel Hata:" blocks_ids: "Engellenen iş paketlerinin ID'leri" category: "Kategori" - comment: "Yorum" + comment: "Yorumlar" comments: "Yorum" content: "İçerik" color: "Renk" diff --git a/config/locales/crowdin/uk.yml b/config/locales/crowdin/uk.yml index 98c60256fded..1624d8dc48db 100644 --- a/config/locales/crowdin/uk.yml +++ b/config/locales/crowdin/uk.yml @@ -2199,7 +2199,7 @@ uk: label_index_by_title: "Індекс за назвою" label_information: "Інформація" label_information_plural: "Інформація" - label_installation_guides: "Інструкції зі встановлення" + label_installation_guides: "Інструкції із встановлення" label_integer: "Ціле число" label_internal: "Власне" label_introduction_video: "Введення відео" diff --git a/config/locales/crowdin/vi.yml b/config/locales/crowdin/vi.yml index fff5d7331f19..88766dcd0ed6 100644 --- a/config/locales/crowdin/vi.yml +++ b/config/locales/crowdin/vi.yml @@ -2064,7 +2064,7 @@ vi: label_file_plural: "Tệp" label_filter_add: "Thêm bộ lọc" label_filter: "Bộ lọc" - label_filter_plural: "Bộ lọc" + label_filter_plural: "Các bộ lọc" label_filters_toggle: "Hiển thị/ẩn bộ lọc" label_float: "Số thực" label_folder: "Thư mục" diff --git a/config/locales/crowdin/zh-CN.seeders.yml b/config/locales/crowdin/zh-CN.seeders.yml index 037d46169ec8..64166d212273 100644 --- a/config/locales/crowdin/zh-CN.seeders.yml +++ b/config/locales/crowdin/zh-CN.seeders.yml @@ -81,7 +81,7 @@ zh-CN: demo-project: name: 演示项目 status_explanation: 所有任务都按计划进行。相关人员均知晓各自任务。系统已完全建立。 - description: 这是对此演示项目目标的简短摘要。 + description: 这是对此演示 Scrum 项目目标的简短摘要。 news: item_0: title: 欢迎来到您的演示项目 @@ -199,7 +199,7 @@ zh-CN: scrum-project: name: Scrum 项目 status_explanation: 所有任务都按计划进行。相关人员均知晓各自任务。系统已完全建立。 - description: 这是对此演示Scrum项目目标的简短摘要。 + description: 这是对此演示 Scrum 项目目标的简短摘要。 news: item_0: title: 欢迎来到您的 Scrum 演示项目 diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index fb90dccf70c5..396e2ec5554b 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -67,7 +67,7 @@ zh-CN: text: "您确定要删除当前使用的企业版令牌吗?" title: "删除令牌" replace_token: "替换您当前的支持令牌" - order: "订购本地部署的 Enterprise edition" + order: "订购本地部署版的 Enterprise edition" paste: "粘贴您企业版的支持令牌" required_for_feature: "此功能仅限具激活的企业版支持令牌的订阅者使用。" enterprise_link: "如需了解详细信息,请单击此处。" @@ -1029,10 +1029,10 @@ zh-CN: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match Work and Remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" - must_be_set_when_remaining_work_is_set: "required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "工时与剩余工时不匹配" + cannot_be_set_when_work_is_zero: "当工时为 0h 时无法设置" + must_be_set_when_remaining_work_is_set: "设置“剩余工时”时必填。" + must_be_set_when_work_and_remaining_work_are_set: "设置“工时”和“剩余工时”时必填。" inclusion: "必须介于 0 和 100 之间。" due_date: not_start_date: "不是在开始日期开始,尽管这是必需的里程碑。" @@ -1062,17 +1062,17 @@ zh-CN: does_not_exist: "指定的类别不存在。" estimated_hours: not_a_number: "不是有效的持续时间。" - cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." + cant_be_inferior_to_remaining_work: "不能低于剩余工时。" + must_be_set_when_remaining_work_and_percent_complete_are_set: "设置“剩余工时”和“% 完成”时必填。" remaining_hours: not_a_number: "不是有效的持续时间。" - cant_exceed_work: "cannot be higher than Work." - must_be_set_when_work_is_set: "required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + cant_exceed_work: "不能高于工时。" + must_be_set_when_work_is_set: "设置“工时”时必填。" + must_be_set_when_work_and_percent_complete_are_set: "设置“工时”和“% 完成”时必填。" must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- - must be 0h when Work is set and % Complete is 100%. + 当“工时”已设置,且“% 完成”为 100%时,必须为0h。 must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- - must be empty when Work is empty and % Complete is 100%. + 当“工时”为空,且“% 完成”为 100%时,必须为空。 readonly_status: "工作包处于只读状态,因此无法更改其属性。" type: attributes: @@ -2316,7 +2316,7 @@ zh-CN: label_revision_id: "修订版本 %{value}" label_revision_plural: "修订" label_roadmap: "路线图" - label_roadmap_edit: "编辑路线图 %{name}" + label_roadmap_edit: "编辑路线图%{name}" label_roadmap_due_in: "%{value} 到期" label_roadmap_no_work_packages: "该版本没有工作包。" label_roadmap_overdue: "%{value} 超时" @@ -2965,7 +2965,7 @@ zh-CN: managed: "在 OpenProject 中创建新的存储库" storage: not_available: "磁盘存储开销不可用于此存储库。" - update_timeout: "在 N 分钟内保留存储库最后所需磁盘空间的信息。由于计算存储库所需的磁盘空间可能增加系统开销,增加该值可以减少性能影响。" + update_timeout: "在 N 分钟内保留存储库最后所需的磁盘空间信息。由于计算存储库所需的磁盘空间可能增加系统开销,增加该值可以减少性能影响。" oauth_application_details: "关闭此窗口后,将无法再次访问客户端密钥值。请将这些值复制到 Nextcloud OpenProject 集成设置中:" oauth_application_details_link_text: "转到设置页面" setup_documentation_details: "如果您在配置新文件存储方面需要帮助,请查看文档:" @@ -3074,9 +3074,9 @@ zh-CN: setting_work_package_done_ratio_field: "基于工时" setting_work_package_done_ratio_status: "基于状态" setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > - In work-based mode, % Complete is calculated from how much work is done in relation to total work. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + 在基于工时模式下,“% 完成”是根据已完成的工时占总工时的比例计算出来的。在基于状态模式下,每个状态都有一个与之相关的“% 完成”。更改状态将改变“% 完成”。 setting_work_package_done_ratio_explanation_html: > - In work-based mode, % Complete can be freely set to any value. If you optionally enter a value for Work, Remaining work will automatically be derived. In status-based mode, each status has a % Complete value associated with it. Changing status will change % Complete. + 在基于工作的模式下,“% 完成”可以自由设置为任何值。如果选择输入 "工时 "值,则会自动得出 "剩余工时"。在基于状态的模式下,每个状态都有一个与之相关的“% 完成”值。更改状态将改变“% 完成”。 setting_work_package_properties: "工作包属性" setting_work_package_startdate_is_adddate: "使用当前日期作为新工作包的开始日期" setting_work_packages_projects_export_limit: "工作包/项目导出限制" @@ -3116,7 +3116,7 @@ zh-CN: setting_session_ttl_hint: "当设置的值低于5时,其作用类似于禁用。" setting_session_ttl_enabled: "会话过期" setting_start_of_week: "一周起始日" - setting_sys_api_enabled: "启用版本库管理 web 服务" + setting_sys_api_enabled: "启用存储库管理网页服务" setting_sys_api_description: "存储库管理网页服务提供了集成的,用户授权的存储库访问。" setting_time_format: "时间" setting_accessibility_mode_for_anonymous: "为匿名用户启用辅助功能模式" @@ -3428,7 +3428,7 @@ zh-CN: warning_user_limit_reached_admin: > 添加额外的用户将超出当前限制。请升级您的计划,以确保外部用户能够访问此实例。 warning_user_limit_reached_instructions: > - 您达到了用户限制(%{current}/%{max}活跃用户)。 请联系sales@openproject.com以升级您的Enterprise edition计划并添加其他用户。 + 您已达到用户限制(%{current}/%{max} 活跃用户)。请联系 sales@openproject.com 升级您的企业版计划以添加额外用户。 warning_protocol_mismatch_html: > warning_bar: @@ -3457,26 +3457,26 @@ zh-CN: progress: label_note: "注意:" modal: - work_based_help_text: "Each field is automatically calculated from the two others when possible." - work_based_help_text_pre_14_4_without_percent_complete_edition: "% Complete is automatically derived from Work and Remaining work." + work_based_help_text: "在可能的情况下,每个字段都会根据另外两个字段自动计算。" + work_based_help_text_pre_14_4_without_percent_complete_edition: "“% 完成”由 \"工时\" 和 \"剩余工时\" 自动得出。" status_based_help_text: "完成百分比由工作包状态设定。" migration_warning_text: "在基于工时的进度计算模式下,完成百分比不能手动设置,而是与工时绑定。现有值已被保留,但无法编辑。请先输入工时。" derivation_hints: done_ratio: - cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." - cleared_because_work_is_0h: "Cleared because Work is 0h." - derived: "Derived from Work and Remaining work." + cleared_because_remaining_work_is_empty: "已清空,因为“剩余工时”为空。" + cleared_because_work_is_0h: "已清空,因为 \"工时 \"为 0h。" + derived: "源自“工时”和“剩余工时”。" estimated_hours: - cleared_because_remaining_work_is_empty: "Cleared because Remaining work is empty." - derived: "Derived from Remaining work and % Complete." - same_as_remaining_work: "Set to same value as Remaining work." + cleared_because_remaining_work_is_empty: "已清空,因为“剩余工时”为空。" + derived: "由“剩余工时”和“% 完成”得出" + same_as_remaining_work: "设置为与“剩余工时”相同的值。" remaining_hours: - cleared_because_work_is_empty: "Cleared because Work is empty." - cleared_because_percent_complete_is_empty: "Cleared because % Complete is empty." - decreased_like_work: "Decreased by the same amount as Work." - derived: "Derived from Work and % Complete." - increased_like_work: "Increased by the same amount as Work." - same_as_work: "Set to same value as Work." + cleared_because_work_is_empty: "已清空,因为 \"工时 \"为空。" + cleared_because_percent_complete_is_empty: "已清空,因为“% 完成”为空。" + decreased_like_work: "减少与 \"工时 \"相同的数额。" + derived: "由“工时”和“% 完成”得出" + increased_like_work: "增加与 \"工时 \"相同的数额。" + same_as_work: "设置为与 \"工时 \"相同的值。" permissions: comment: "评论" comment_description: "可以查看和评论该工作包。" diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index 2d3174e08898..2a2764865450 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -2060,7 +2060,7 @@ zh-TW: label_file_plural: "檔案" label_filter_add: "新增條件" label_filter: "篩選條件" - label_filter_plural: "篩選器" + label_filter_plural: "篩選條件" label_filters_toggle: "顯示/隱藏篩選條件" label_float: "浮點數" label_folder: "資料夾" @@ -2073,7 +2073,7 @@ zh-TW: label_generate_key: "產生一個金鑰" label_git_path: ".git 目錄的路徑" label_greater_or_equal: ">=" - label_group_by: "分組依據" + label_group_by: "分類" label_group_new: "新增群組" label_group: "群組" label_group_named: "群組名稱 %{name}" @@ -2084,7 +2084,7 @@ zh-TW: label_history: "歷史" label_hierarchy_leaf: "頁面結構頁" label_home: "Home" - label_subject_or_id: "主旨或 id" + label_subject_or_id: "名稱或 id" label_calendar_subscriptions: "訂閱行事曆" label_identifier: "識別碼" label_in: "在" @@ -2127,7 +2127,7 @@ zh-TW: label_latest_revision_plural: "最新版本" label_ldap_authentication: "LDAP 認證" label_learn_more: "了解更多" - label_less_or_equal: "<=" + label_less_or_equal: "之後" label_less_than_ago: "幾天內" label_link_url: "連結(URL)" label_list: "清單" diff --git a/modules/backlogs/config/locales/crowdin/zh-TW.yml b/modules/backlogs/config/locales/crowdin/zh-TW.yml index aaef165b374f..6a7b6d653910 100644 --- a/modules/backlogs/config/locales/crowdin/zh-TW.yml +++ b/modules/backlogs/config/locales/crowdin/zh-TW.yml @@ -21,7 +21,7 @@ #++ zh-TW: plugin_openproject_backlogs: - name: "OpenProject代辦事項" + name: "OpenProject待辦事項" description: "此模組新增了讓敏捷團隊能夠在 Scrum 專案中使用 OpenProject 的功能。" activerecord: attributes: diff --git a/modules/bim/config/locales/crowdin/fr.yml b/modules/bim/config/locales/crowdin/fr.yml index 1be78163d4bc..9e4ab945797c 100644 --- a/modules/bim/config/locales/crowdin/fr.yml +++ b/modules/bim/config/locales/crowdin/fr.yml @@ -58,7 +58,7 @@ fr: perform_description: "Voulez-vous importer ou mettre à jour les problèmes repris ci-dessus ?" replace_with_system_user: 'Les remplacer par l''utilisateur "Système"' import_as_system_user: 'Les importer comme utilisateur "Système".' - what_to_do: "Que voulez-vous faire?" + what_to_do: "Que voulez-vous faire ?" work_package_has_newer_changes: "Obsolète ! Ce sujet n'a pas été mis à jour, car les derniers changements sur le serveur étaient plus récents que la \"ModifiedDate\" du sujet importé. Toutefois, les commentaires sur le sujet ont été importés." bcf_file_not_found: "Impossible de localiser le fichier BCF. Veuillez recommencer le processus de téléversement." export: diff --git a/modules/budgets/config/locales/crowdin/cs.yml b/modules/budgets/config/locales/crowdin/cs.yml index 231267126ec3..72dd2ee8925f 100644 --- a/modules/budgets/config/locales/crowdin/cs.yml +++ b/modules/budgets/config/locales/crowdin/cs.yml @@ -27,7 +27,7 @@ cs: budget: author: "Autor" available: "Dostupné" - budget: "Rozpočet" + budget: "Plánované" budget_ratio: "Stráveno (poměr)" description: "Popis" spent: "Strávený čas" diff --git a/modules/ldap_groups/config/locales/crowdin/zh-CN.yml b/modules/ldap_groups/config/locales/crowdin/zh-CN.yml index 4d0259eed6ce..d551c0a9e91e 100644 --- a/modules/ldap_groups/config/locales/crowdin/zh-CN.yml +++ b/modules/ldap_groups/config/locales/crowdin/zh-CN.yml @@ -1,7 +1,7 @@ zh-CN: plugin_openproject_ldap_groups: name: "OpenProject LDAP 组" - description: "LDAP 组成员同步。" + description: "LDAP组成员同步。" activerecord: attributes: ldap_groups/synchronized_group: diff --git a/modules/ldap_groups/config/locales/crowdin/zh-TW.yml b/modules/ldap_groups/config/locales/crowdin/zh-TW.yml index 9f9da07a50a7..d7227e6063ba 100644 --- a/modules/ldap_groups/config/locales/crowdin/zh-TW.yml +++ b/modules/ldap_groups/config/locales/crowdin/zh-TW.yml @@ -9,7 +9,7 @@ zh-TW: ldap_auth_source: 'LDAP 連線' sync_users: '同步使用者' ldap_groups/synchronized_filter: - filter_string: '簡約登入目錄制約(LDAP)篩選' + filter_string: 'LDAP篩選條件' ldap_auth_source: 'LDAP 連線' group_name_attribute: "群組名字屬性" sync_users: '同步使用者' diff --git a/modules/meeting/config/locales/crowdin/cs.yml b/modules/meeting/config/locales/crowdin/cs.yml index 4c5affff2da4..f3d5a55737bb 100644 --- a/modules/meeting/config/locales/crowdin/cs.yml +++ b/modules/meeting/config/locales/crowdin/cs.yml @@ -139,7 +139,7 @@ cs: types: classic: "Klasické" classic_text: "Uspořádat schůzku do formátů textového programu a protokolu." - structured: "Dynamická" + structured: "Dynamický" structured_text: "Uspořádat schůzku jako seznam bodů pořadu jednání, případně je propojit s pracovním balíčkem." structured_text_copy: "Kopírování schůzky v současné době nezkopíruje související body pořadu jednání, jen podrobnosti" copied: "Zkopírováno ze schůzky #%{id}" @@ -153,7 +153,7 @@ cs: notice_meeting_updated: "This page has been updated by someone else. Reload to view changes." permission_create_meetings: "Vytvořit schůzku\n" permission_edit_meetings: "Upravit schůzku" - permission_delete_meetings: "Smazat schůzku" + permission_delete_meetings: "Odstranit schůzky" permission_view_meetings: "Zobrazit schůzky" permission_create_meeting_agendas: "Vytvořit agendy schůzek" permission_create_meeting_agendas_explanation: "Umožňuje upravovat obsah programu klasické schůzky." diff --git a/modules/meeting/config/locales/crowdin/zh-TW.yml b/modules/meeting/config/locales/crowdin/zh-TW.yml index b2d17c875bb5..96ddbd052990 100644 --- a/modules/meeting/config/locales/crowdin/zh-TW.yml +++ b/modules/meeting/config/locales/crowdin/zh-TW.yml @@ -156,7 +156,7 @@ zh-TW: permission_create_meeting_agendas_explanation: "允許編輯傳統會議的議程。" permission_manage_agendas: "管理議程" permission_manage_agendas_explanation: "允許編輯動態會議的議程項目。" - permission_close_meeting_agendas: "定案會議大綱" + permission_close_meeting_agendas: "結束會議大綱" permission_send_meeting_agendas_notification: "傳送會議大綱審閱通知" permission_create_meeting_minutes: "管理會議記錄" permission_send_meeting_minutes_notification: "傳送會議記錄審閱通知" diff --git a/modules/reporting/config/locales/crowdin/ro.yml b/modules/reporting/config/locales/crowdin/ro.yml index 5ef2b8b85bf6..f7cd91798e51 100644 --- a/modules/reporting/config/locales/crowdin/ro.yml +++ b/modules/reporting/config/locales/crowdin/ro.yml @@ -68,7 +68,7 @@ ro: label_filter: "Filtrare" label_filter_add: "Adăugare filtru" label_filter_plural: "Filtre" - label_group_by: "Grupare după" + label_group_by: "Grupează după" label_group_by_add: "Adăugați atributul Group-by" label_inactive: "Inactiv" label_no: "Nu" diff --git a/modules/reporting/config/locales/crowdin/zh-TW.yml b/modules/reporting/config/locales/crowdin/zh-TW.yml index 61c3f7c6d1c7..62f33a5bd15d 100644 --- a/modules/reporting/config/locales/crowdin/zh-TW.yml +++ b/modules/reporting/config/locales/crowdin/zh-TW.yml @@ -51,7 +51,7 @@ zh-TW: label_money: "現金價值" label_month_reporting: "月" label_new_report: "新建成本報表" - label_open: "進行中" + label_open: "開啟" label_operator: "操作員" label_private_report_plural: "私密成本報告" label_progress_bar_explanation: "產生報告中..." @@ -68,7 +68,7 @@ zh-TW: label_filter: "篩選條件" label_filter_add: "新增篩選條件" label_filter_plural: "篩選條件" - label_group_by: "分組依據" + label_group_by: "分類" label_group_by_add: "新增分組依據屬性" label_inactive: "«不活動»" label_no: "否" diff --git a/modules/team_planner/config/locales/crowdin/js-fr.yml b/modules/team_planner/config/locales/crowdin/js-fr.yml index 67a93cb353c0..658122291596 100644 --- a/modules/team_planner/config/locales/crowdin/js-fr.yml +++ b/modules/team_planner/config/locales/crowdin/js-fr.yml @@ -18,7 +18,7 @@ fr: today: 'Aujourd''hui' drag_here_to_remove: 'Faites glisser ici pour supprimer le responsable et les dates de début et de fin.' cannot_drag_here: 'Impossible de supprimer le lot de travaux en raison des autorisations ou des restrictions d''édition.' - cannot_drag_to_non_working_day: 'Ce lot de travail ne peut pas démarrer/terminer sur un jour non ouvré.' + cannot_drag_to_non_working_day: 'Ce lot de travaux ne peut pas démarrer/terminer sur un jour non ouvré.' quick_add: empty_state: 'Utilisez le champ de recherche pour trouver des lots de travaux et faites-les glisser vers le planificateur pour l''assigner à quelqu''un et définir des dates de début et de fin.' search_placeholder: 'Rechercher...' diff --git a/modules/two_factor_authentication/config/locales/crowdin/ro.yml b/modules/two_factor_authentication/config/locales/crowdin/ro.yml index ed1e50f455f2..717e80c0e557 100644 --- a/modules/two_factor_authentication/config/locales/crowdin/ro.yml +++ b/modules/two_factor_authentication/config/locales/crowdin/ro.yml @@ -174,7 +174,7 @@ ro: label_expiration_hint: "%{date} sau la deconectare" label_actions: "Acțiuni" label_confirmed: "Confirmat" - button_continue: "Continuaţi" + button_continue: "Continuă" button_make_default: "Marcați ca implicit" label_unverified_phone: "Telefonul mobil nu a fost încă verificat" notice_phone_number_format: "Vă rugăm să introduceți numărul în următorul format: +XX XXXXXXXX." diff --git a/modules/two_factor_authentication/config/locales/crowdin/ru.yml b/modules/two_factor_authentication/config/locales/crowdin/ru.yml index c8b20adea521..1b98cf398196 100644 --- a/modules/two_factor_authentication/config/locales/crowdin/ru.yml +++ b/modules/two_factor_authentication/config/locales/crowdin/ru.yml @@ -174,7 +174,7 @@ ru: label_expiration_hint: "%{date} или при выходе из системы" label_actions: "Действия" label_confirmed: "Подтвержден" - button_continue: "Далее" + button_continue: "Продолжить" button_make_default: "Задать по умолчанию" label_unverified_phone: "Сотовый телефон еще не подтвержден" notice_phone_number_format: "Введите номер в следующем формате: +XX XXXXXXXX." diff --git a/modules/two_factor_authentication/config/locales/crowdin/uk.yml b/modules/two_factor_authentication/config/locales/crowdin/uk.yml index b66b4ca73912..08d5f4a4cbd9 100644 --- a/modules/two_factor_authentication/config/locales/crowdin/uk.yml +++ b/modules/two_factor_authentication/config/locales/crowdin/uk.yml @@ -115,7 +115,7 @@ uk: failed_to_delete: "Не вдалося видалити пристрій 2FA." is_default_cannot_delete: "Пристрій позначено як типовий і його не можна видалити через активну політику безпеки. Перед видаленням позначте інший пристрій як стандартний." not_existing: "Для вашого облікового запису не зареєстровано жодного пристрою 2FA." - 2fa_from_input: Введіть код, що надійшов на пристрій %{device_name}, щоб підтвердити свою особу. + 2fa_from_input: Введіть код, отриманий на пристрій %{device_name}, щоб підтвердити свою особу. 2fa_from_webauthn: Укажіть пристрій WebAuthn %{device_name}. Якщо це USB-пристрій, переконайтеся, що його підключено, і торкніться його. Потім натисніть кнопку входу. webauthn: title: "WebAuthn" diff --git a/modules/xls_export/config/locales/crowdin/zh-CN.yml b/modules/xls_export/config/locales/crowdin/zh-CN.yml index 31c8d3cdd710..59230e603ecf 100644 --- a/modules/xls_export/config/locales/crowdin/zh-CN.yml +++ b/modules/xls_export/config/locales/crowdin/zh-CN.yml @@ -13,4 +13,4 @@ zh-CN: xls_with_relations: "带关系的 XLS" xls_export: child_of: 此项的子项 - parent_of: 此项的父项 + parent_of: 此项的父级 From 4353abaee7f9a50400730a45823351171e748480 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 29 Aug 2024 17:21:54 +0200 Subject: [PATCH 026/147] Show progressBar instead of intermediate loading dialog --- .../controllers/async-dialog.controller.ts | 41 +++---------------- frontend/src/turbo/helpers.ts | 11 +++++ frontend/src/typings/shims.d.ts | 6 +++ lookbook/docs/patterns/05-dialogs.md.erb | 1 + 4 files changed, 24 insertions(+), 35 deletions(-) create mode 100644 frontend/src/turbo/helpers.ts diff --git a/frontend/src/stimulus/controllers/async-dialog.controller.ts b/frontend/src/stimulus/controllers/async-dialog.controller.ts index 3f65e3b6e655..2d0892701fe3 100644 --- a/frontend/src/stimulus/controllers/async-dialog.controller.ts +++ b/frontend/src/stimulus/controllers/async-dialog.controller.ts @@ -30,10 +30,9 @@ import { ApplicationController } from 'stimulus-use'; import { renderStreamMessage } from '@hotwired/turbo'; +import { TurboHelpers } from '../../turbo/helpers'; export default class AsyncDialogController extends ApplicationController { - private loadingDialog:HTMLDialogElement|null; - connect() { this.element.addEventListener('click', (e) => { e.preventDefault(); @@ -42,48 +41,20 @@ export default class AsyncDialogController extends ApplicationController { } triggerTurboStream():void { - let loaded = false; - - setTimeout(() => { - if (!loaded) { - this.addLoading(); - } - }, 100); + TurboHelpers.showProgressBar(); - fetch(this.href, { + void fetch(this.href, { method: this.method, headers: { Accept: 'text/vnd.turbo-stream.html', }, }).then((r) => r.text()) .then((html) => { - loaded = true; renderStreamMessage(html); }) - .finally(() => this.removeLoading()); - } - - removeLoading() { - this.loadingDialog?.remove(); - } - - addLoading() { - this.removeLoading(); - const dialog = document.createElement('dialog'); - dialog.classList.add('Overlay', 'Overlay--size-medium', 'Overlay--motion-scaleFade'); - dialog.style.height = '150px'; - dialog.style.display = 'grid'; - dialog.style.placeContent = 'center'; - dialog.id = 'loading'; - dialog.innerHTML = ` - - - - - `; - document.body.appendChild(dialog); - dialog.showModal(); - this.loadingDialog = dialog; + .finally(() => { + TurboHelpers.hideProgressBar(); + }); } get href() { diff --git a/frontend/src/turbo/helpers.ts b/frontend/src/turbo/helpers.ts new file mode 100644 index 000000000000..5922eb37f443 --- /dev/null +++ b/frontend/src/turbo/helpers.ts @@ -0,0 +1,11 @@ +import * as Turbo from '@hotwired/turbo'; + +export namespace TurboHelpers { + export function showProgressBar() { + Turbo.session.adapter.formSubmissionStarted(); + } + + export function hideProgressBar() { + Turbo.session.adapter.formSubmissionFinished(); + } +} diff --git a/frontend/src/typings/shims.d.ts b/frontend/src/typings/shims.d.ts index c3552ccee51c..d00919774d9e 100644 --- a/frontend/src/typings/shims.d.ts +++ b/frontend/src/typings/shims.d.ts @@ -29,8 +29,14 @@ declare module 'dom-autoscroller'; declare module 'core-vendor/enjoyhint'; declare module '@hotwired/turbo' { + interface BrowserAdapter { + formSubmissionStarted:() => void; + formSubmissionFinished:() => void; + } + export const session:{ drive:boolean; + adapter:BrowserAdapter; }; export const navigator:{ diff --git a/lookbook/docs/patterns/05-dialogs.md.erb b/lookbook/docs/patterns/05-dialogs.md.erb index 12e969038681..7890b6183e24 100644 --- a/lookbook/docs/patterns/05-dialogs.md.erb +++ b/lookbook/docs/patterns/05-dialogs.md.erb @@ -24,6 +24,7 @@ end ``` On the Rails controller you wish to render the dialog, you need to respond to the request with the dialog content. +The async-controller stimulus controller will ensure that a loading progress bar will be shown on the top of the page. ```ruby class TestController < ApplicationControler From 4e22be699b78ba91b41d76640788aab1473c3bfe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 05:38:21 +0000 Subject: [PATCH 027/147] build(deps): bump the angular group in /frontend with 2 updates Bumps the angular group in /frontend with 2 updates: [@angular/cli](https://github.com/angular/angular-cli) and [@angular-devkit/build-angular](https://github.com/angular/angular-cli). Updates `@angular/cli` from 17.3.8 to 17.3.9 - [Release notes](https://github.com/angular/angular-cli/releases) - [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular-cli/compare/17.3.8...17.3.9) Updates `@angular-devkit/build-angular` from 17.3.8 to 17.3.9 - [Release notes](https://github.com/angular/angular-cli/releases) - [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular-cli/compare/17.3.8...17.3.9) --- updated-dependencies: - dependency-name: "@angular/cli" dependency-type: direct:production update-type: version-update:semver-patch dependency-group: angular - dependency-name: "@angular-devkit/build-angular" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: angular ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 307 ++++++++++++++++++------------------- 1 file changed, 145 insertions(+), 162 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 13f2ba09074e..0bb34eab1273 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -261,11 +261,11 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1703.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.8.tgz", - "integrity": "sha512-lKxwG4/QABXZvJpqeSIn/kAwnY6MM9HdHZUV+o5o3UiTi+vO8rZApG4CCaITH3Bxebm7Nam7Xbk8RuukC5rq6g==", + "version": "0.1703.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.9.tgz", + "integrity": "sha512-kEPfTOVnzrJxPGTvaXy8653HU9Fucxttx9gVfQR1yafs+yIEGx3fKGKe89YPmaEay32bIm7ZUpxDF1FO14nkdQ==", "dependencies": { - "@angular-devkit/core": "17.3.8", + "@angular-devkit/core": "17.3.9", "rxjs": "7.8.1" }, "engines": { @@ -275,14 +275,14 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.8.tgz", - "integrity": "sha512-ixsdXggWaFRP7Jvxd0AMukImnePuGflT9Yy7NJ9/y0cL/k//S/3RnkQv5i411KzN+7D4RIbNkRGGTYeqH24zlg==", + "version": "17.3.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.9.tgz", + "integrity": "sha512-EuAPSC4c2DSJLlL4ieviKLx1faTyY+ymWycq6KFwoxu1FgWly/dqBeWyXccYinLhPVZmoh6+A/5S4YWXlOGSnA==", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1703.8", - "@angular-devkit/build-webpack": "0.1703.8", - "@angular-devkit/core": "17.3.8", + "@angular-devkit/architect": "0.1703.9", + "@angular-devkit/build-webpack": "0.1703.9", + "@angular-devkit/core": "17.3.9", "@babel/core": "7.24.0", "@babel/generator": "7.23.6", "@babel/helper-annotate-as-pure": "7.22.5", @@ -293,7 +293,7 @@ "@babel/preset-env": "7.24.0", "@babel/runtime": "7.24.0", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "17.3.8", + "@ngtools/webpack": "17.3.9", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.18", @@ -337,7 +337,7 @@ "undici": "6.11.1", "vite": "5.1.7", "watchpack": "2.4.0", - "webpack": "5.90.3", + "webpack": "5.94.0", "webpack-dev-middleware": "6.1.2", "webpack-dev-server": "4.15.1", "webpack-merge": "5.10.0", @@ -582,11 +582,11 @@ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1703.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.8.tgz", - "integrity": "sha512-9u6fl8VVOxcLOEMzrUeaybSvi9hSLSRucHnybneYrabsgreDo32tuy/4G8p6YAHQjpWEj9jvF9Um13ertdni5Q==", + "version": "0.1703.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.9.tgz", + "integrity": "sha512-3b0LND39Nc+DwCQ0N7Tbsd7RAFWTeIc4VDwk/7RO8EMYTP5Kfgr/TK66nwTBypHsjmD69IMKHZZaZuiDfGfx2A==", "dependencies": { - "@angular-devkit/architect": "0.1703.8", + "@angular-devkit/architect": "0.1703.9", "rxjs": "7.8.1" }, "engines": { @@ -600,9 +600,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.8.tgz", - "integrity": "sha512-Q8q0voCGudbdCgJ7lXdnyaxKHbNQBARH68zPQV72WT8NWy+Gw/tys870i6L58NWbBaCJEUcIj/kb6KoakSRu+Q==", + "version": "17.3.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.9.tgz", + "integrity": "sha512-/iKyn5YT7NW5ylrg9yufUydS8byExeQ2HHIwFC4Ebwb/JYYCz+k4tBf2LdP+zXpemDpLznXTQGWia0/yJjG8Vg==", "dependencies": { "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -637,11 +637,11 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.8.tgz", - "integrity": "sha512-QRVEYpIfgkprNHc916JlPuNbLzOgrm9DZalHasnLUz4P6g7pR21olb8YCyM2OTJjombNhya9ZpckcADU5Qyvlg==", + "version": "17.3.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.9.tgz", + "integrity": "sha512-9qg+uWywgAtaQlvbnCQv47hcL6ZuA+d9ucgZ0upZftBllZ2vp5WIthCPb2mB0uBkj84Csmtz9MsErFjOQtTj4g==", "dependencies": { - "@angular-devkit/core": "17.3.8", + "@angular-devkit/core": "17.3.9", "jsonc-parser": "3.2.1", "magic-string": "0.30.8", "ora": "5.4.1", @@ -888,14 +888,14 @@ } }, "node_modules/@angular/cli": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.8.tgz", - "integrity": "sha512-X5ZOQ6ZTKVHjhIsfl32ZRqbs+FUoeHLbT7x4fh2Os/8ObDDwrUcCJPqxe2b2RB5E2d0vepYigknHeLE7gwzlNQ==", - "dependencies": { - "@angular-devkit/architect": "0.1703.8", - "@angular-devkit/core": "17.3.8", - "@angular-devkit/schematics": "17.3.8", - "@schematics/angular": "17.3.8", + "version": "17.3.9", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.9.tgz", + "integrity": "sha512-b5RGu5RO4VKZlMQDatwABAn1qocgD9u4IrGN2dvHDcrz5apTKYftUdGyG42vngyDNBCg1mWkSDQEWK4f2HfuGg==", + "dependencies": { + "@angular-devkit/architect": "0.1703.9", + "@angular-devkit/core": "17.3.9", + "@angular-devkit/schematics": "17.3.9", + "@schematics/angular": "17.3.9", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "ini": "4.1.2", @@ -4071,9 +4071,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.8.tgz", - "integrity": "sha512-CjSVVa/9fzMpEDQP01SC4colKCbZwj7vUq0H2bivp8jVsmd21x9Fu0gDBH0Y9NdfAIm4eGZvmiZKMII3vIOaYQ==", + "version": "17.3.9", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.9.tgz", + "integrity": "sha512-2+NvEQuYKRWdZaJbRJWEnR48tpW0uYbhwfHBHLDI9Kazb3mb0oAwYBVXdq+TtDLBypXnMsFpCewjRHTvkVx4/A==", "engines": { "node": "^18.13.0 || >=20.9.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", @@ -5132,12 +5132,12 @@ ] }, "node_modules/@schematics/angular": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.8.tgz", - "integrity": "sha512-2g4OmSyE9YGq50Uj7fNI26P/TSAFJ7ZuirwTF2O7Xc4XRQ29/tYIIqhezpNlTb6rlYblcQuMcUZBrMfWJHcqJw==", + "version": "17.3.9", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.9.tgz", + "integrity": "sha512-q6N8mbcYC6cgPyjTrMH7ehULQoUUwEYN4g7uo4ylZ/PFklSLJvpSp4BuuxANgW449qHSBvQfdIoui9ayAUXQzA==", "dependencies": { - "@angular-devkit/core": "17.3.8", - "@angular-devkit/schematics": "17.3.8", + "@angular-devkit/core": "17.3.9", + "@angular-devkit/schematics": "17.3.9", "jsonc-parser": "3.2.1" }, "engines": { @@ -5470,24 +5470,6 @@ "integrity": "sha512-jojr2JVJB8DawAKXApGnollMvVOMyiMKpchH8gLeoExx35Eq0BQ4WgAiAHoBoEn7h/9eDrIl0yz//cM6ALIJbg==", "dev": true }, - "node_modules/@types/eslint": { - "version": "8.56.9", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.9.tgz", - "integrity": "sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg==", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -6646,10 +6628,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "peerDependencies": { "acorn": "^8" } @@ -8196,9 +8178,9 @@ } }, "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "engines": { "node": ">=6.0" } @@ -9745,9 +9727,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -9958,9 +9940,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", - "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==" + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" }, "node_modules/es-object-atoms": { "version": "1.0.0", @@ -21534,25 +21516,24 @@ } }, "node_modules/webpack": { - "version": "5.90.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", - "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dependencies": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -21560,7 +21541,7 @@ "schema-utils": "^3.2.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -21931,6 +21912,18 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/webpack/node_modules/watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -22322,23 +22315,23 @@ } }, "@angular-devkit/architect": { - "version": "0.1703.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.8.tgz", - "integrity": "sha512-lKxwG4/QABXZvJpqeSIn/kAwnY6MM9HdHZUV+o5o3UiTi+vO8rZApG4CCaITH3Bxebm7Nam7Xbk8RuukC5rq6g==", + "version": "0.1703.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.9.tgz", + "integrity": "sha512-kEPfTOVnzrJxPGTvaXy8653HU9Fucxttx9gVfQR1yafs+yIEGx3fKGKe89YPmaEay32bIm7ZUpxDF1FO14nkdQ==", "requires": { - "@angular-devkit/core": "17.3.8", + "@angular-devkit/core": "17.3.9", "rxjs": "7.8.1" } }, "@angular-devkit/build-angular": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.8.tgz", - "integrity": "sha512-ixsdXggWaFRP7Jvxd0AMukImnePuGflT9Yy7NJ9/y0cL/k//S/3RnkQv5i411KzN+7D4RIbNkRGGTYeqH24zlg==", + "version": "17.3.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.9.tgz", + "integrity": "sha512-EuAPSC4c2DSJLlL4ieviKLx1faTyY+ymWycq6KFwoxu1FgWly/dqBeWyXccYinLhPVZmoh6+A/5S4YWXlOGSnA==", "requires": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1703.8", - "@angular-devkit/build-webpack": "0.1703.8", - "@angular-devkit/core": "17.3.8", + "@angular-devkit/architect": "0.1703.9", + "@angular-devkit/build-webpack": "0.1703.9", + "@angular-devkit/core": "17.3.9", "@babel/core": "7.24.0", "@babel/generator": "7.23.6", "@babel/helper-annotate-as-pure": "7.22.5", @@ -22349,7 +22342,7 @@ "@babel/preset-env": "7.24.0", "@babel/runtime": "7.24.0", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "17.3.8", + "@ngtools/webpack": "17.3.9", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.18", @@ -22394,7 +22387,7 @@ "undici": "6.11.1", "vite": "5.1.7", "watchpack": "2.4.0", - "webpack": "5.90.3", + "webpack": "5.94.0", "webpack-dev-middleware": "6.1.2", "webpack-dev-server": "4.15.1", "webpack-merge": "5.10.0", @@ -22514,18 +22507,18 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.1703.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.8.tgz", - "integrity": "sha512-9u6fl8VVOxcLOEMzrUeaybSvi9hSLSRucHnybneYrabsgreDo32tuy/4G8p6YAHQjpWEj9jvF9Um13ertdni5Q==", + "version": "0.1703.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.9.tgz", + "integrity": "sha512-3b0LND39Nc+DwCQ0N7Tbsd7RAFWTeIc4VDwk/7RO8EMYTP5Kfgr/TK66nwTBypHsjmD69IMKHZZaZuiDfGfx2A==", "requires": { - "@angular-devkit/architect": "0.1703.8", + "@angular-devkit/architect": "0.1703.9", "rxjs": "7.8.1" } }, "@angular-devkit/core": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.8.tgz", - "integrity": "sha512-Q8q0voCGudbdCgJ7lXdnyaxKHbNQBARH68zPQV72WT8NWy+Gw/tys870i6L58NWbBaCJEUcIj/kb6KoakSRu+Q==", + "version": "17.3.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.9.tgz", + "integrity": "sha512-/iKyn5YT7NW5ylrg9yufUydS8byExeQ2HHIwFC4Ebwb/JYYCz+k4tBf2LdP+zXpemDpLznXTQGWia0/yJjG8Vg==", "requires": { "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -22543,11 +22536,11 @@ } }, "@angular-devkit/schematics": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.8.tgz", - "integrity": "sha512-QRVEYpIfgkprNHc916JlPuNbLzOgrm9DZalHasnLUz4P6g7pR21olb8YCyM2OTJjombNhya9ZpckcADU5Qyvlg==", + "version": "17.3.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.9.tgz", + "integrity": "sha512-9qg+uWywgAtaQlvbnCQv47hcL6ZuA+d9ucgZ0upZftBllZ2vp5WIthCPb2mB0uBkj84Csmtz9MsErFjOQtTj4g==", "requires": { - "@angular-devkit/core": "17.3.8", + "@angular-devkit/core": "17.3.9", "jsonc-parser": "3.2.1", "magic-string": "0.30.8", "ora": "5.4.1", @@ -22718,14 +22711,14 @@ } }, "@angular/cli": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.8.tgz", - "integrity": "sha512-X5ZOQ6ZTKVHjhIsfl32ZRqbs+FUoeHLbT7x4fh2Os/8ObDDwrUcCJPqxe2b2RB5E2d0vepYigknHeLE7gwzlNQ==", - "requires": { - "@angular-devkit/architect": "0.1703.8", - "@angular-devkit/core": "17.3.8", - "@angular-devkit/schematics": "17.3.8", - "@schematics/angular": "17.3.8", + "version": "17.3.9", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.9.tgz", + "integrity": "sha512-b5RGu5RO4VKZlMQDatwABAn1qocgD9u4IrGN2dvHDcrz5apTKYftUdGyG42vngyDNBCg1mWkSDQEWK4f2HfuGg==", + "requires": { + "@angular-devkit/architect": "0.1703.9", + "@angular-devkit/core": "17.3.9", + "@angular-devkit/schematics": "17.3.9", + "@schematics/angular": "17.3.9", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "ini": "4.1.2", @@ -24876,9 +24869,9 @@ } }, "@ngtools/webpack": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.8.tgz", - "integrity": "sha512-CjSVVa/9fzMpEDQP01SC4colKCbZwj7vUq0H2bivp8jVsmd21x9Fu0gDBH0Y9NdfAIm4eGZvmiZKMII3vIOaYQ==" + "version": "17.3.9", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.9.tgz", + "integrity": "sha512-2+NvEQuYKRWdZaJbRJWEnR48tpW0uYbhwfHBHLDI9Kazb3mb0oAwYBVXdq+TtDLBypXnMsFpCewjRHTvkVx4/A==" }, "@ngx-formly/core": { "version": "6.3.6", @@ -25572,12 +25565,12 @@ "optional": true }, "@schematics/angular": { - "version": "17.3.8", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.8.tgz", - "integrity": "sha512-2g4OmSyE9YGq50Uj7fNI26P/TSAFJ7ZuirwTF2O7Xc4XRQ29/tYIIqhezpNlTb6rlYblcQuMcUZBrMfWJHcqJw==", + "version": "17.3.9", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.9.tgz", + "integrity": "sha512-q6N8mbcYC6cgPyjTrMH7ehULQoUUwEYN4g7uo4ylZ/PFklSLJvpSp4BuuxANgW449qHSBvQfdIoui9ayAUXQzA==", "requires": { - "@angular-devkit/core": "17.3.8", - "@angular-devkit/schematics": "17.3.8", + "@angular-devkit/core": "17.3.9", + "@angular-devkit/schematics": "17.3.9", "jsonc-parser": "3.2.1" } }, @@ -25848,24 +25841,6 @@ "integrity": "sha512-jojr2JVJB8DawAKXApGnollMvVOMyiMKpchH8gLeoExx35Eq0BQ4WgAiAHoBoEn7h/9eDrIl0yz//cM6ALIJbg==", "dev": true }, - "@types/eslint": { - "version": "8.56.9", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.9.tgz", - "integrity": "sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -26728,10 +26703,10 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==" + "acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==" }, "acorn-jsx": { "version": "5.3.2", @@ -27852,9 +27827,9 @@ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==" }, "class-utils": { "version": "0.3.6", @@ -29004,9 +28979,9 @@ "dev": true }, "enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -29178,9 +29153,9 @@ } }, "es-module-lexer": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", - "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==" + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" }, "es-object-atoms": { "version": "1.0.0", @@ -37687,25 +37662,24 @@ } }, "webpack": { - "version": "5.90.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", - "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "requires": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -37713,7 +37687,7 @@ "schema-utils": "^3.2.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "dependencies": { @@ -37761,6 +37735,15 @@ "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } + }, + "watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } } } }, From fbd6d43a5eb1ef8f00239d3435fcf5dd5e17b460 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 05:18:34 +0000 Subject: [PATCH 028/147] build(deps): bump fog-aws from 3.24.0 to 3.25.0 Bumps [fog-aws](https://github.com/fog/fog-aws) from 3.24.0 to 3.25.0. - [Changelog](https://github.com/fog/fog-aws/blob/master/CHANGELOG.md) - [Commits](https://github.com/fog/fog-aws/compare/v3.24.0...v3.25.0) --- updated-dependencies: - dependency-name: fog-aws dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e87ce507e241..0259cc0ae39e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -560,7 +560,8 @@ GEM websocket-driver (~> 0.7) ffi (1.17.0) flamegraph (0.9.5) - fog-aws (3.24.0) + fog-aws (3.25.0) + base64 (~> 0.2.0) fog-core (~> 2.1) fog-json (~> 1.1) fog-xml (~> 0.1) @@ -748,7 +749,7 @@ GEM method_source (1.1.0) mime-types (3.5.2) mime-types-data (~> 3.2015) - mime-types-data (3.2024.0806) + mime-types-data (3.2024.0820) mini_magick (5.0.1) mini_mime (1.1.5) mini_portile2 (2.8.7) From 4ed7ef1f970ae9a2939d9f9b9f988fd1dd40fc4b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 05:17:07 +0000 Subject: [PATCH 029/147] build(deps): bump aws-sdk-core from 3.202.0 to 3.202.1 Bumps [aws-sdk-core](https://github.com/aws/aws-sdk-ruby) from 3.202.0 to 3.202.1. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/commits) --- updated-dependencies: - dependency-name: aws-sdk-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0259cc0ae39e..8aca7e282b26 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -342,8 +342,8 @@ GEM activerecord (>= 4.0.0, < 7.2) awrence (1.2.1) aws-eventstream (1.3.0) - aws-partitions (1.968.0) - aws-sdk-core (3.202.0) + aws-partitions (1.969.0) + aws-sdk-core (3.202.1) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.9) From 63adb5635d5165cd57aef0442b26167c10bdf5e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Fri, 30 Aug 2024 09:55:02 +0200 Subject: [PATCH 030/147] Add note on 2FA settings hidden when configured by env (#16555) * Update README.md * Update docs/system-admin-guide/authentication/two-factor-authentication/README.md Co-authored-by: Maya Berdygylyjova --------- Co-authored-by: Maya Berdygylyjova --- .../authentication/two-factor-authentication/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/system-admin-guide/authentication/two-factor-authentication/README.md b/docs/system-admin-guide/authentication/two-factor-authentication/README.md index 8ae3fa1541d4..708fc0ce2c75 100644 --- a/docs/system-admin-guide/authentication/two-factor-authentication/README.md +++ b/docs/system-admin-guide/authentication/two-factor-authentication/README.md @@ -19,6 +19,10 @@ From the GUI you are able to configure the following options: ![Sys-admin-authentication-two-factor-authentication](Sys-admin-authentication-two-factor-authentication.png) +> [!NOTE] +> These options will not be shown in the administration if 2FA settings are configured through [environment variables](../../../installation-and-operations/configuration/environment/). + + Usually with another device device like a mobile phone or a tablet, you are able to use a TOTP Application in order to generate the token that is needed as an extra layer of security on top of your password. Here are some applications that work for OpenProject 2FA. - Open Source andOTP (Android Device) in the [Play Store](https://play.google.com/store/apps/details?id=org.shadowice.flocke.andotp&gl=US) From 472b74ff3f38c9548cf9191d9b0c5ba312d2c6b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Fri, 30 Aug 2024 08:41:32 +0200 Subject: [PATCH 031/147] Reload opening --- spec/support/components/datepicker/datepicker_modal.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/support/components/datepicker/datepicker_modal.rb b/spec/support/components/datepicker/datepicker_modal.rb index 002f86a14bb9..2af089c86497 100644 --- a/spec/support/components/datepicker/datepicker_modal.rb +++ b/spec/support/components/datepicker/datepicker_modal.rb @@ -3,7 +3,7 @@ class DatepickerModal < Datepicker def open_modal! retry_block do click_on "Non-working day", wait: 10 - unless page.has_css?(".flatpickr-calendar") + unless page.has_css?(".flatpickr-calendar", wait: 10) click_on "Cancel" raise "Flatpickr should render a calendar" end From dd3a30570f51af35c68fcb7dd6cdeaa600de2c04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Fri, 30 Aug 2024 09:40:35 +0200 Subject: [PATCH 032/147] Move change detection into onReady --- .../modal-single-date-picker.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/shared/components/datepicker/modal-single-date-picker/modal-single-date-picker.component.ts b/frontend/src/app/shared/components/datepicker/modal-single-date-picker/modal-single-date-picker.component.ts index 06a412e4b573..3f92c37bb712 100644 --- a/frontend/src/app/shared/components/datepicker/modal-single-date-picker/modal-single-date-picker.component.ts +++ b/frontend/src/app/shared/components/datepicker/modal-single-date-picker/modal-single-date-picker.component.ts @@ -241,6 +241,7 @@ export class OpModalSingleDatePickerComponent implements ControlValueAccessor, O inline: true, onReady: (_date:Date[], _datestr:string, instance:flatpickr.Instance) => { instance.calendarContainer.classList.add('op-datepicker-modal--flatpickr-instance'); + this.cdRef.detectChanges(); }, onChange: (dates:Date[]) => { if (dates.length > 0) { @@ -263,7 +264,6 @@ export class OpModalSingleDatePickerComponent implements ControlValueAccessor, O }, this.flatpickrTarget.nativeElement as HTMLElement, ); - this.cdRef.detectChanges(); } writeWorkingValue(value:string):void { From f2efebefebf065f16f3beb2dec1fda477b18d69b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Fri, 30 Aug 2024 09:47:14 +0200 Subject: [PATCH 033/147] Allow TS namespaces --- frontend/.eslintrc.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.js index 8e1c4fb6f5ce..74d5ea509940 100644 --- a/frontend/.eslintrc.js +++ b/frontend/.eslintrc.js @@ -115,6 +115,9 @@ module.exports = { "indent": "off", "@typescript-eslint/indent": "off", + // Allow namespaces, they are generated into flat functions and we don't care about modules for helpers + "@typescript-eslint/no-namespace": "off", + /* // Disable use before define, as irrelevant for TS interfaces "no-use-before-define": "off", From b151e8017df367f435e10c71475469667c53099c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Fri, 30 Aug 2024 10:41:53 +0200 Subject: [PATCH 034/147] Use explicit fast build without source maps and minify for testing and PullPreview (#16563) Use explicit fast build without source maps and minify for testing and PP --- docker/ci/entrypoint.sh | 2 +- docker/pullpreview/docker-compose.yml | 2 +- frontend/angular.json | 32 --------------------------- frontend/extra-webpack.config.js | 2 +- frontend/package.json | 3 +-- lib/tasks/assets.rake | 4 +--- 6 files changed, 5 insertions(+), 40 deletions(-) diff --git a/docker/ci/entrypoint.sh b/docker/ci/entrypoint.sh index 6c41d9e9cdeb..d4dc280c9223 100755 --- a/docker/ci/entrypoint.sh +++ b/docker/ci/entrypoint.sh @@ -92,7 +92,7 @@ backend_stuff() { } frontend_stuff() { - execute_quiet "DATABASE_URL=nulldb://db time bin/rails openproject:plugins:register_frontend assets:precompile" + execute_quiet "OPENPROJECT_ANGULAR_BUILD=fast DATABASE_URL=nulldb://db time bin/rails openproject:plugins:register_frontend assets:precompile" execute_quiet "cp -rp config/frontend_assets.manifest.json public/assets/frontend_assets.manifest.json" } diff --git a/docker/pullpreview/docker-compose.yml b/docker/pullpreview/docker-compose.yml index 7c9664a60635..f6a3bb409c39 100644 --- a/docker/pullpreview/docker-compose.yml +++ b/docker/pullpreview/docker-compose.yml @@ -14,7 +14,7 @@ x-defaults: &defaults build: context: . args: - OPENPROJECT_ANGULAR_UGLIFY: "false" + OPENPROJECT_ANGULAR_BUILD: "fast" restart: unless-stopped env_file: - .env.pullpreview diff --git a/frontend/angular.json b/frontend/angular.json index 4be288938831..7c48128237c2 100644 --- a/frontend/angular.json +++ b/frontend/angular.json @@ -102,38 +102,6 @@ } ] }, - "fastprod": { - "index": "", - "preserveSymlinks": true, - "optimization": false, - "outputHashing": "all", - "sourceMap": false, - "namedChunks": false, - "extractLicenses": false, - "buildOptimizer" : false, - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" - } - ] - }, - "ci": { - "index": "", - "preserveSymlinks": true, - "optimization": false, - "outputHashing": "all", - "sourceMap": false, - "namedChunks": false, - "extractLicenses": false, - "buildOptimizer" : false, - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" - } - ] - } } }, "serve": { diff --git a/frontend/extra-webpack.config.js b/frontend/extra-webpack.config.js index 2eef5b817f14..4ca5c933c4b1 100644 --- a/frontend/extra-webpack.config.js +++ b/frontend/extra-webpack.config.js @@ -5,7 +5,7 @@ module.exports = { minimizer: [ new TerserPlugin({ terserOptions: { - mangle: process.env.OPENPROJECT_ANGULAR_UGLIFY !== 'false', + mangle: process.env.OPENPROJECT_ANGULAR_BUILD !== 'fast', keep_classnames: true, keep_fnames: true, } diff --git a/frontend/package.json b/frontend/package.json index 6ab4fc9227f5..5615a4afe820 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -162,8 +162,7 @@ }, "scripts": { "analyze": "ng build --configuration production --stats-json && webpack-bundle-analyzer -h 0.0.0.0 -p 9999 ../public/assets/frontend/stats.json", - "build:ci": "node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --configuration ci", - "build:fast": "OPENPROJECT_ANGULAR_UGLIFY=false node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --configuration fastprod", + "build:fast": "OPENPROJECT_ANGULAR_BUILD=fast node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --configuration production", "build": "node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --configuration production --named-chunks --source-map", "build:watch": "node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --watch --named-chunks", "tokens:generate": "theo src/app/spot/styles/tokens/tokens.yml --transform web --format sass,json --dest src/app/spot/styles/tokens/dist", diff --git a/lib/tasks/assets.rake b/lib/tasks/assets.rake index 63f497fc0e41..4e170ce29d90 100644 --- a/lib/tasks/assets.rake +++ b/lib/tasks/assets.rake @@ -63,9 +63,7 @@ namespace :assets do puts "Building angular frontend" Dir.chdir Rails.root.join("frontend") do cmd = - if ENV["CI"] - "npm run build:ci" - elsif ENV["OPENPROJECT_ANGULAR_UGLIFY"] == "false" + if ENV["OPENPROJECT_ANGULAR_BUILD"] == "fast" "npm run build:fast" else "npm run build" From cc7461b69fbb70605d7af367044c7081dcfbcb7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Fri, 30 Aug 2024 10:41:53 +0200 Subject: [PATCH 035/147] Use explicit fast build without source maps and minify for testing and PullPreview (#16563) Use explicit fast build without source maps and minify for testing and PP --- docker/ci/entrypoint.sh | 2 +- docker/pullpreview/docker-compose.yml | 2 +- frontend/angular.json | 32 --------------------------- frontend/extra-webpack.config.js | 2 +- frontend/package.json | 3 +-- lib/tasks/assets.rake | 4 +--- 6 files changed, 5 insertions(+), 40 deletions(-) diff --git a/docker/ci/entrypoint.sh b/docker/ci/entrypoint.sh index 6c41d9e9cdeb..d4dc280c9223 100755 --- a/docker/ci/entrypoint.sh +++ b/docker/ci/entrypoint.sh @@ -92,7 +92,7 @@ backend_stuff() { } frontend_stuff() { - execute_quiet "DATABASE_URL=nulldb://db time bin/rails openproject:plugins:register_frontend assets:precompile" + execute_quiet "OPENPROJECT_ANGULAR_BUILD=fast DATABASE_URL=nulldb://db time bin/rails openproject:plugins:register_frontend assets:precompile" execute_quiet "cp -rp config/frontend_assets.manifest.json public/assets/frontend_assets.manifest.json" } diff --git a/docker/pullpreview/docker-compose.yml b/docker/pullpreview/docker-compose.yml index 7c9664a60635..f6a3bb409c39 100644 --- a/docker/pullpreview/docker-compose.yml +++ b/docker/pullpreview/docker-compose.yml @@ -14,7 +14,7 @@ x-defaults: &defaults build: context: . args: - OPENPROJECT_ANGULAR_UGLIFY: "false" + OPENPROJECT_ANGULAR_BUILD: "fast" restart: unless-stopped env_file: - .env.pullpreview diff --git a/frontend/angular.json b/frontend/angular.json index 4be288938831..7c48128237c2 100644 --- a/frontend/angular.json +++ b/frontend/angular.json @@ -102,38 +102,6 @@ } ] }, - "fastprod": { - "index": "", - "preserveSymlinks": true, - "optimization": false, - "outputHashing": "all", - "sourceMap": false, - "namedChunks": false, - "extractLicenses": false, - "buildOptimizer" : false, - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" - } - ] - }, - "ci": { - "index": "", - "preserveSymlinks": true, - "optimization": false, - "outputHashing": "all", - "sourceMap": false, - "namedChunks": false, - "extractLicenses": false, - "buildOptimizer" : false, - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" - } - ] - } } }, "serve": { diff --git a/frontend/extra-webpack.config.js b/frontend/extra-webpack.config.js index 2eef5b817f14..4ca5c933c4b1 100644 --- a/frontend/extra-webpack.config.js +++ b/frontend/extra-webpack.config.js @@ -5,7 +5,7 @@ module.exports = { minimizer: [ new TerserPlugin({ terserOptions: { - mangle: process.env.OPENPROJECT_ANGULAR_UGLIFY !== 'false', + mangle: process.env.OPENPROJECT_ANGULAR_BUILD !== 'fast', keep_classnames: true, keep_fnames: true, } diff --git a/frontend/package.json b/frontend/package.json index 6ab4fc9227f5..5615a4afe820 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -162,8 +162,7 @@ }, "scripts": { "analyze": "ng build --configuration production --stats-json && webpack-bundle-analyzer -h 0.0.0.0 -p 9999 ../public/assets/frontend/stats.json", - "build:ci": "node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --configuration ci", - "build:fast": "OPENPROJECT_ANGULAR_UGLIFY=false node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --configuration fastprod", + "build:fast": "OPENPROJECT_ANGULAR_BUILD=fast node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --configuration production", "build": "node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --configuration production --named-chunks --source-map", "build:watch": "node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --watch --named-chunks", "tokens:generate": "theo src/app/spot/styles/tokens/tokens.yml --transform web --format sass,json --dest src/app/spot/styles/tokens/dist", diff --git a/lib/tasks/assets.rake b/lib/tasks/assets.rake index 63f497fc0e41..4e170ce29d90 100644 --- a/lib/tasks/assets.rake +++ b/lib/tasks/assets.rake @@ -63,9 +63,7 @@ namespace :assets do puts "Building angular frontend" Dir.chdir Rails.root.join("frontend") do cmd = - if ENV["CI"] - "npm run build:ci" - elsif ENV["OPENPROJECT_ANGULAR_UGLIFY"] == "false" + if ENV["OPENPROJECT_ANGULAR_BUILD"] == "fast" "npm run build:fast" else "npm run build" From f80712c2ef58a164d309c0484ef238f6fccf81e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Fri, 30 Aug 2024 10:34:31 +0200 Subject: [PATCH 036/147] Only merge the digests from matrix.target --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 878af2a2d746..3db90e894c39 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -250,7 +250,7 @@ jobs: - name: Merge digests uses: actions/upload-artifact/merge@v4 with: - pattern: digests-* + pattern: "digests-${{ matrix.target }}-*" overwrite: true name: "merged-digests-${{ matrix.target }}-${{ github.run_number }}-${{ github.run_attempt }}" - name: Download digests From 09fa421940513720e139a8d29fdbabf7232e1183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Fri, 30 Aug 2024 10:34:31 +0200 Subject: [PATCH 037/147] Only merge the digests from matrix.target --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 878af2a2d746..3db90e894c39 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -250,7 +250,7 @@ jobs: - name: Merge digests uses: actions/upload-artifact/merge@v4 with: - pattern: digests-* + pattern: "digests-${{ matrix.target }}-*" overwrite: true name: "merged-digests-${{ matrix.target }}-${{ github.run_number }}-${{ github.run_attempt }}" - name: Download digests From 7c9b9c83e193ad1b4713703328f4e13a01d6c872 Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Fri, 30 Aug 2024 15:26:42 +0300 Subject: [PATCH 038/147] [#56605] Project attributes: Rename "Deactivate in project" to "Remove from project" (#16553) https://community.openproject.org/work_packages/56605 --- .../project_custom_field_mapping/row_component.rb | 2 +- config/locales/en.yml | 2 +- .../admin/project_custom_fields/project_mappings_spec.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/components/settings/project_custom_fields/project_custom_field_mapping/row_component.rb b/app/components/settings/project_custom_fields/project_custom_field_mapping/row_component.rb index a02c28570b2e..0a4a86a2d3a4 100644 --- a/app/components/settings/project_custom_fields/project_custom_field_mapping/row_component.rb +++ b/app/components/settings/project_custom_fields/project_custom_field_mapping/row_component.rb @@ -48,7 +48,7 @@ def more_menu_detach_project { scheme: :default, icon: nil, - label: I18n.t("projects.settings.project_custom_fields.actions.deactivate_for_project"), + label: I18n.t("projects.settings.project_custom_fields.actions.remove_from_project"), href: unlink_admin_settings_project_custom_field_path( id: @table.params[:custom_field].id, project_custom_field_project_mapping: { project_id: project.id } diff --git a/config/locales/en.yml b/config/locales/en.yml index d0d10725d37a..93b889d88728 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -334,7 +334,7 @@ en: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/spec/features/admin/project_custom_fields/project_mappings_spec.rb b/spec/features/admin/project_custom_fields/project_mappings_spec.rb index a31eb04e83bb..a5bb3bf0bb0f 100644 --- a/spec/features/admin/project_custom_fields/project_mappings_spec.rb +++ b/spec/features/admin/project_custom_fields/project_mappings_spec.rb @@ -137,7 +137,7 @@ visit project_mappings_admin_settings_project_custom_field_path(project_custom_field) - project_custom_field_mappings_page.click_menu_item_of("Deactivate for this project", project) + project_custom_field_mappings_page.click_menu_item_of("Remove from project", project) expect(page).to have_no_text(project.name) From 78ef2f98f122e9235e2c647475705d92c659f905 Mon Sep 17 00:00:00 2001 From: Christophe Bliard Date: Fri, 30 Aug 2024 17:53:31 +0200 Subject: [PATCH 039/147] [57258] Display derivation hints in status-based mode https://community.openproject.org/wp/57258 It was calculated but not displayed. This is now covered by a feature test. In the progress popover, when the input is a select, the event being listened to to render a preview is `change` instead of `input. It's because cuprite does not emit the `input` event when selecting an option in a select input. It only emits `change`. `ProgressEditField` has been updated to correctly focus and change the value of a select (for status selection inside the popover). Also to allow `ProgressEditField#expect_modal_field_value` to work regardless of the field being disabled or readonly, the disabled value default to `:all` which matches both disabled and enabled inputs, and the `readonly` parameter has been removed. To check for it, call `ProgressEditField#expect_modal_field_read_only` directly instead. --- app/forms/work_packages/progress_form.rb | 4 +- .../derive_progress_values_base.rb | 8 +++ .../derive_progress_values_status_based.rb | 31 +++++++--- .../derive_progress_values_work_based.rb | 8 --- .../progress/preview-progress.controller.ts | 6 +- ...4_without_percent_complete_edition_spec.rb | 10 ++-- .../work_packages/progress_modal_spec.rb | 58 +++++++++++++++++++ ...erive_progress_values_status_based_spec.rb | 36 ++++++++++++ .../work_packages/progress_popover.rb | 2 +- .../edit_fields/progress_edit_field.rb | 23 ++++++-- 10 files changed, 158 insertions(+), 28 deletions(-) diff --git a/app/forms/work_packages/progress_form.rb b/app/forms/work_packages/progress_form.rb index 61eecfa284b5..09e9b71cd7c8 100644 --- a/app/forms/work_packages/progress_form.rb +++ b/app/forms/work_packages/progress_form.rb @@ -151,6 +151,7 @@ def readonly_text_field(group, name:, value: field_value(name), label:, + caption: field_hint_message(name), readonly: true, classes: "input--readonly", placeholder: ("-" if placeholder) @@ -199,9 +200,10 @@ def as_percent(value) end def default_field_options(name) + action = name == :status_id ? "change" : "input" data = { "work-packages--progress--preview-progress-target": "progressInput", "work-packages--progress--touched-field-marker-target": "progressInput", - action: "input->work-packages--progress--touched-field-marker#markFieldAsTouched" } + action: "#{action}->work-packages--progress--touched-field-marker#markFieldAsTouched" } if @focused_field == name data[:"work-packages--progress--focus-field-target"] = "fieldToFocus" diff --git a/app/services/work_packages/set_attributes_service/derive_progress_values_base.rb b/app/services/work_packages/set_attributes_service/derive_progress_values_base.rb index fa057d81076f..c986209c714d 100644 --- a/app/services/work_packages/set_attributes_service/derive_progress_values_base.rb +++ b/app/services/work_packages/set_attributes_service/derive_progress_values_base.rb @@ -79,6 +79,10 @@ def work_valid? DurationConverter.valid?(work_package.estimated_hours_before_type_cast) end + def work_invalid? + !work_valid? + end + def remaining_work work_package.remaining_hours end @@ -115,6 +119,10 @@ def remaining_work_valid? DurationConverter.valid?(work_package.remaining_hours_before_type_cast) end + def remaining_work_invalid? + !remaining_work_valid? + end + def percent_complete work_package.done_ratio end diff --git a/app/services/work_packages/set_attributes_service/derive_progress_values_status_based.rb b/app/services/work_packages/set_attributes_service/derive_progress_values_status_based.rb index 3035a88ccafc..7f140a9caf1a 100644 --- a/app/services/work_packages/set_attributes_service/derive_progress_values_status_based.rb +++ b/app/services/work_packages/set_attributes_service/derive_progress_values_status_based.rb @@ -33,24 +33,39 @@ class DeriveProgressValuesStatusBased < DeriveProgressValuesBase def derive_progress_attributes raise ArgumentError, "Cannot use #{self.class.name} in work-based mode" if WorkPackage.work_based_mode? - update_percent_complete - update_remaining_work_from_percent_complete + # do not change anything if some values are invalid: this will be detected + # by the contract and errors will be set. + return if invalid_progress_values? + + update_percent_complete if derive_percent_complete? + update_remaining_work if derive_remaining_work? + end + + def invalid_progress_values? + work_invalid? + end + + def derive_percent_complete? + status_percent_complete_changed? + end + + def derive_remaining_work? + status_percent_complete_changed? || work_changed? + end + + def status_percent_complete_changed? + work_package.status_id_changed? && work_package.status.default_done_ratio != work_package.done_ratio_was end # Update +% complete+ from the status if the status changed. def update_percent_complete - return unless work_package.status_id_changed? - self.percent_complete = work_package.status.default_done_ratio end # When in "Status-based" mode for progress calculation, remaining work is # always derived from % complete and work. If work is unset, then remaining # work must be unset too. - def update_remaining_work_from_percent_complete - return if remaining_work_came_from_user? - return if work&.negative? - + def update_remaining_work if work_empty? return unless work_changed? diff --git a/app/services/work_packages/set_attributes_service/derive_progress_values_work_based.rb b/app/services/work_packages/set_attributes_service/derive_progress_values_work_based.rb index 69cb6736875e..81a44326c5da 100644 --- a/app/services/work_packages/set_attributes_service/derive_progress_values_work_based.rb +++ b/app/services/work_packages/set_attributes_service/derive_progress_values_work_based.rb @@ -161,14 +161,6 @@ def work_from_percent_complete_and_remaining_work remaining_work / remaining_percent_complete end - def work_invalid? - !work_valid? - end - - def remaining_work_invalid? - !remaining_work_valid? - end - def percent_complete_unparsable? !PercentageConverter.valid?(work_package.done_ratio_before_type_cast) end diff --git a/frontend/src/stimulus/controllers/dynamic/work-packages/progress/preview-progress.controller.ts b/frontend/src/stimulus/controllers/dynamic/work-packages/progress/preview-progress.controller.ts index 2b39d00218dd..bf722fa38d63 100644 --- a/frontend/src/stimulus/controllers/dynamic/work-packages/progress/preview-progress.controller.ts +++ b/frontend/src/stimulus/controllers/dynamic/work-packages/progress/preview-progress.controller.ts @@ -61,7 +61,11 @@ export default class PreviewProgressController extends Controller { }; this.progressInputTargets.forEach((target) => { - target.addEventListener('input', this.debouncedPreview); + if (target.tagName.toLowerCase() === 'select') { + target.addEventListener('change', this.debouncedPreview); + } else { + target.addEventListener('input', this.debouncedPreview); + } target.addEventListener('blur', this.debouncedPreview); }); diff --git a/spec/features/work_packages/progress_modal_pre_14_4_without_percent_complete_edition_spec.rb b/spec/features/work_packages/progress_modal_pre_14_4_without_percent_complete_edition_spec.rb index f2a10392d6b3..cf7c9755e1d1 100644 --- a/spec/features/work_packages/progress_modal_pre_14_4_without_percent_complete_edition_spec.rb +++ b/spec/features/work_packages/progress_modal_pre_14_4_without_percent_complete_edition_spec.rb @@ -208,7 +208,7 @@ def update_work_package_with(work_package, attributes) remaining_work_field = ProgressEditField.new(work_package_row, :remainingTime) work_field.activate! - remaining_work_field.expect_read_only_modal_field + remaining_work_field.expect_modal_field_read_only end end @@ -356,7 +356,8 @@ def update_work_package_with(work_package, attributes) work_edit_field.expect_modal_field_value("10h") remaining_work_edit_field.expect_modal_field_value("2.12h") # 2h 7m - percent_complete_edit_field.expect_modal_field_value("78", readonly: true) + percent_complete_edit_field.expect_modal_field_read_only + percent_complete_edit_field.expect_modal_field_value("78") end end @@ -408,7 +409,8 @@ def update_work_package_with(work_package, attributes) work_edit_field.expect_modal_field_value("") remaining_work_edit_field.expect_modal_field_value("", disabled: true) - percent_complete_edit_field.expect_modal_field_value("-", readonly: true) + percent_complete_edit_field.expect_modal_field_read_only + percent_complete_edit_field.expect_modal_field_value("-") end end @@ -468,7 +470,7 @@ def update_work_package_with(work_package, attributes) work_edit_field.activate! - percent_complete_edit_field.expect_read_only_modal_field + percent_complete_edit_field.expect_modal_field_read_only end end diff --git a/spec/features/work_packages/progress_modal_spec.rb b/spec/features/work_packages/progress_modal_spec.rb index 9856c79a6ae2..b51737261e05 100644 --- a/spec/features/work_packages/progress_modal_spec.rb +++ b/spec/features/work_packages/progress_modal_spec.rb @@ -589,5 +589,63 @@ def visit_progress_query_displaying_work_package progress_popover.expect_values(work: "300h", remaining_work: "60h", percent_complete: "80%") end end + + context "in status-based mode", + with_settings: { work_package_done_ratio: "status" } do + before_all do + open_status_with_0p_done_ratio.update!(is_default: true) + + create(:workflow, + type_id: type_task.id, + old_status: open_status_with_0p_done_ratio, + new_status: in_progress_status_with_50p_done_ratio, + role:) + create(:workflow, + type_id: type_task.id, + old_status: open_status_with_0p_done_ratio, + new_status: complete_status_with_100p_done_ratio, + role:) + end + + context "given status has % complete to 50% and work is unset" do + before do + update_work_package_with(work_package, status: in_progress_status_with_50p_done_ratio, + estimated_hours: nil) + end + + specify "when setting work, it updates remaining work and % complete" do + visit_progress_query_displaying_work_package + + progress_popover.open + progress_popover.expect_values(work: "", remaining_work: "") + progress_popover.expect_hints(work: nil, remaining_work: nil) + + progress_popover.set_values(work: "10h") + progress_popover.expect_values(work: "10h", remaining_work: "5h") + progress_popover.expect_hints(work: nil, remaining_work: :derived) + end + end + + context "given work = 10h" do + before do + update_work_package_with(work_package, estimated_hours: 10) + end + + specify "when changing the status or work, it updates remaining work" do + visit_progress_query_displaying_work_package + + progress_popover.open + progress_popover.expect_hints(work: nil, remaining_work: nil) + + progress_popover.set_values(status: in_progress_status_with_50p_done_ratio) + progress_popover.expect_values(work: "10h", remaining_work: "5h") + progress_popover.expect_hints(work: nil, remaining_work: :derived) + + progress_popover.set_values(work: "") + progress_popover.expect_values(work: "", remaining_work: "") + progress_popover.expect_hints(work: nil, remaining_work: :cleared_because_work_is_empty) + end + end + end end end diff --git a/spec/services/work_packages/set_attributes_service/derive_progress_values_status_based_spec.rb b/spec/services/work_packages/set_attributes_service/derive_progress_values_status_based_spec.rb index eef0e5d4b717..5cc0bd8a0722 100644 --- a/spec/services/work_packages/set_attributes_service/derive_progress_values_status_based_spec.rb +++ b/spec/services/work_packages/set_attributes_service/derive_progress_values_status_based_spec.rb @@ -35,6 +35,7 @@ with_settings: { work_package_done_ratio: "status" } do shared_let(:status_0_pct_complete) { create(:status, default_done_ratio: 0, name: "0% complete") } shared_let(:status_50_pct_complete) { create(:status, default_done_ratio: 50, name: "50% complete") } + shared_let(:status_50_pct_complete_other) { create(:status, default_done_ratio: 50, name: "50% complete other") } shared_let(:status_70_pct_complete) { create(:status, default_done_ratio: 70, name: "70% complete") } let(:user) { build_stubbed(:user) } @@ -51,6 +52,14 @@ work_package.clear_changes_information end + context "when nothing is changed" do + let(:set_attributes) { {} } + let(:expected_kept_attributes) { %w[estimated_hours remaining_hours] } + + include_examples "update progress values", description: "derives remaining work", + expected_hints: {} + end + context "when work is cleared" do let(:set_attributes) { { estimated_hours: nil } } let(:expected_derived_attributes) { { remaining_hours: nil } } @@ -80,6 +89,24 @@ expected_hints: {} end + context "when work is changed to an invalid value" do + let(:set_attributes) { { estimated_hours: "I am invalid" } } + let(:expected_derived_attributes) { { estimated_hours: 0.0 } } + let(:expected_kept_attributes) { %w[remaining_hours] } + + it "keeps the original string value in the _before_type_cast method " \ + "so that validation can detect it is invalid" do + work_package.attributes = set_attributes + instance.call + + expect(work_package.estimated_hours_before_type_cast).to eq("I am invalid") + end + + include_examples "update progress values", + description: "is an error state (to be detected by contract), and remaining work is kept", + expected_hints: {} + end + context "when another status is set" do let(:set_attributes) { { status: status_70_pct_complete } } let(:expected_derived_attributes) { { remaining_hours: 3.0 } } @@ -91,6 +118,15 @@ } end + context "when another status with same % complete is set" do + let(:set_attributes) { { status: status_50_pct_complete_other } } + let(:expected_kept_attributes) { %w[remaining_hours] } + + include_examples "update progress values", + description: "keeps the same remaining work value", + expected_hints: {} + end + context "when floating point operations are inaccurate (2.4000000000000004h)" do let(:set_attributes) { { estimated_hours: 8.0, status: status_70_pct_complete } } let(:expected_derived_attributes) { { remaining_hours: 2.4 } } # would be 2.4000000000000004 without rounding diff --git a/spec/support/components/work_packages/progress_popover.rb b/spec/support/components/work_packages/progress_popover.rb index 1d311c2d64d0..d1c8f5b20256 100644 --- a/spec/support/components/work_packages/progress_popover.rb +++ b/spec/support/components/work_packages/progress_popover.rb @@ -111,7 +111,7 @@ def expect_focused(field_name) end def expect_read_only(field_name) - field(field_name).expect_read_only_modal_field + field(field_name).expect_modal_field_read_only end def expect_select_with_options(field_name, *options) diff --git a/spec/support/edit_fields/progress_edit_field.rb b/spec/support/edit_fields/progress_edit_field.rb index 5ba98108a023..02b2862144fd 100644 --- a/spec/support/edit_fields/progress_edit_field.rb +++ b/spec/support/edit_fields/progress_edit_field.rb @@ -87,7 +87,9 @@ def clear end def set_value(value) - if value == "" + if status_field? + select_status(value) + elsif value == "" clear else page.fill_in field_name, with: value @@ -95,10 +97,21 @@ def set_value(value) wait_for_preview_to_complete end + def select_status(value) + value = value.name if value.is_a?(Status) + + page.select(value, from: "% Complete") + end + + def status_field? + field_name == "work_package_status_id" + end + def focus return if focused? input_element.click + input_element.click if status_field? # to close the dropdown wait_for_preview_to_complete end @@ -197,14 +210,14 @@ def expect_modal_field_disabled expect(page).to have_field(@field_name, disabled: true) end - def expect_read_only_modal_field + def expect_modal_field_read_only expect(input_element).to be_readonly end - def expect_modal_field_value(value, disabled: false, readonly: false) + def expect_modal_field_value(value, disabled: :all) within modal_element do if @property_name == "percentageDone" && value.to_s == "-" - expect(page).to have_field(field_name, readonly:, placeholder: value.to_s) + expect(page).to have_field(field_name, placeholder: value.to_s) elsif @property_name == "statusWithinProgressModal" if value == :empty_without_any_options expect(page).to have_select(field_name, disabled:, options: []) @@ -212,7 +225,7 @@ def expect_modal_field_value(value, disabled: false, readonly: false) expect(page).to have_select(field_name, disabled:, with_selected: value.to_s) end else - expect(page).to have_field(field_name, disabled:, readonly:, with: value.to_s) + expect(page).to have_field(field_name, disabled:, with: value.to_s) end end end From 842052c0fc8d2c2f7055f386538b296ec0cf7a21 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Sat, 31 Aug 2024 03:05:15 +0000 Subject: [PATCH 040/147] update locales from crowdin [ci skip] --- config/locales/crowdin/cs.yml | 54 +++++------ config/locales/crowdin/de.yml | 28 +++--- config/locales/crowdin/fr.yml | 32 +++---- config/locales/crowdin/id.yml | 2 +- config/locales/crowdin/it.yml | 14 +-- config/locales/crowdin/js-ca.yml | 4 +- config/locales/crowdin/js-fr.yml | 68 +++++++------- config/locales/crowdin/js-id.yml | 2 +- config/locales/crowdin/js-no.yml | 2 +- config/locales/crowdin/js-pt-BR.yml | 2 +- config/locales/crowdin/js-ro.yml | 4 +- config/locales/crowdin/js-ru.yml | 2 +- config/locales/crowdin/js-vi.yml | 2 +- config/locales/crowdin/js-zh-CN.yml | 2 +- config/locales/crowdin/pl.yml | 2 +- config/locales/crowdin/pt-BR.yml | 90 +++++++++---------- config/locales/crowdin/ro.yml | 4 +- config/locales/crowdin/sl.yml | 4 +- config/locales/crowdin/tr.yml | 2 +- config/locales/crowdin/uk.yml | 2 +- config/locales/crowdin/vi.yml | 2 +- config/locales/crowdin/zh-CN.seeders.yml | 4 +- config/locales/crowdin/zh-CN.yml | 10 +-- config/locales/crowdin/zh-TW.yml | 8 +- .../backlogs/config/locales/crowdin/zh-TW.yml | 2 +- modules/bim/config/locales/crowdin/fr.yml | 2 +- modules/budgets/config/locales/crowdin/cs.yml | 2 +- .../job_status/config/locales/crowdin/fr.yml | 28 +++--- .../config/locales/crowdin/pt-BR.yml | 28 +++--- .../config/locales/crowdin/zh-CN.yml | 2 +- .../config/locales/crowdin/zh-TW.yml | 2 +- modules/meeting/config/locales/crowdin/cs.yml | 4 +- modules/meeting/config/locales/crowdin/fr.yml | 6 +- .../config/locales/crowdin/js-pt-BR.yml | 2 +- .../meeting/config/locales/crowdin/pt-BR.yml | 6 +- .../meeting/config/locales/crowdin/zh-TW.yml | 2 +- .../config/locales/crowdin/pt-BR.yml | 2 +- .../reporting/config/locales/crowdin/ro.yml | 2 +- .../config/locales/crowdin/zh-TW.yml | 4 +- .../storages/config/locales/crowdin/fr.yml | 2 +- .../storages/config/locales/crowdin/pt-BR.yml | 28 +++--- .../config/locales/crowdin/js-fr.yml | 2 +- .../config/locales/crowdin/ro.yml | 2 +- .../config/locales/crowdin/ru.yml | 2 +- .../config/locales/crowdin/uk.yml | 2 +- .../config/locales/crowdin/zh-CN.yml | 2 +- 46 files changed, 240 insertions(+), 240 deletions(-) diff --git a/config/locales/crowdin/cs.yml b/config/locales/crowdin/cs.yml index 72f8d5b2bffb..ec5ed0a63091 100644 --- a/config/locales/crowdin/cs.yml +++ b/config/locales/crowdin/cs.yml @@ -462,7 +462,7 @@ cs: irreversible: "Tato akce je nevratná" confirmation: "Zadejte název zástupného uživatele %{name} pro potvrzení odstranění." upsale: - title: Placeholder uživatel + title: placeholder uživatel description: > Placeholder uživatelé jsou způsob, jak přiřadit pracovní balíčky uživatelům, kteří nejsou součástí vašeho projektu. Mohou být užiteční v řadě scénářů; například, pokud potřebujete sledovat úkoly u zdroje, který ještě nejsou pojmenovány nebo dostupné, nebo pokud nechcete této osobě umožnit přístup k OpenProject ale stále chcete sledovat úkoly, které jim byly přiděleny. prioritiies: @@ -684,7 +684,7 @@ cs: false: "archivováno" identifier: "Identifikátor" latest_activity_at: "Poslední aktivita" - parent: "Nadřazený projekt" + parent: "Podprojekt" public_value: title: "Viditelnost" true: "veřejný" @@ -790,7 +790,7 @@ cs: true: "zahrnuje nepracovní dny" notify: "Oznámit" #used in custom actions parent: "Nadřazený" - parent_issue: "Nadřazený" + parent_issue: "Rodič" parent_work_package: "Nadřazený" priority: "Priorita" progress: "% Dokončeno" @@ -920,7 +920,7 @@ cs: blank: "je povinné. Zvolte prosím název." not_unique: " už bylo použito. Prosím vyberte jiný název." notifications: - at_least_one_channel: "Pro odesílání notifikací musí být specifikován alespoň jeden kanál" + at_least_one_channel: "Alespoň jeden kanál pro odesílání oznámení musí být specifikován." attributes: read_ian: read_on_creation: "nelze nastavit na pravdivé při vytváření oznámení " @@ -1172,11 +1172,11 @@ cs: member: "Člen" news: "Novinky" notification: - one: "Notifikace" - few: "Notifikací" - many: "Notifikací" - other: "Notifikace" - placeholder_user: "Placeholder uživatel" + one: "Oznámení" + few: "Oznámení" + many: "Oznámení" + other: "Oznámení" + placeholder_user: "placeholder uživatel" project: "Projekt" project_query: one: "Seznam projektů" @@ -1890,7 +1890,7 @@ cs: instructions_after_error: "Zkuste se znovu přihlásit kliknutím na %{signin}. Pokud chyba přetrvává, požádejte správce o pomoc." menus: admin: - mail_notification: "E-mailové notifikace" + mail_notification: "E-mailová upozornění" mails_and_notifications: "E-maily a oznámení" aggregation: "Agregace" api_and_webhooks: "API & Webhooky" @@ -1953,7 +1953,7 @@ cs: by_project: "Nepřečteno dle projektu" by_reason: "Důvod" inbox: "Doručená pošta" - send_notifications: "Pro tuto akci odeslat notifikaci" + send_notifications: "Odeslat oznámení pro tuto akci" work_packages: subject: created: "Pracovní balíček byl vytvořen." @@ -2346,9 +2346,9 @@ cs: label_permissions: "Práva" label_permissions_report: "Přehled oprávnění" label_personalize_page: "Přizpůsobit tuto stránku" - label_placeholder_user: "Placeholder uživatel" + label_placeholder_user: "placeholder uživatel" label_placeholder_user_new: "" - label_placeholder_user_plural: "Placeholder uživatelé" + label_placeholder_user_plural: "placeholder uživatelé" label_planning: "Plánování" label_please_login: "Přihlaste se prosím" label_plugins: "Pluginy" @@ -2370,7 +2370,7 @@ cs: label_project_attribute_plural: "Atributy projektu" label_project_attribute_manage_link: "Správa atributů produktu" label_project_count: "Celkový počet projektů" - label_project_copy_notifications: "Během kopírování projektu odeslat notifikace e-mailem" + label_project_copy_notifications: "Během kopie projektu odeslat oznámení e-mailem" label_project_latest: "Nejnovější projekty" label_project_default_type: "Povolit prázdný typ" label_project_hierarchy: "Hierarchie projektu" @@ -2510,7 +2510,7 @@ cs: label_users_settings: "Uživatelská nastavení" label_version_new: "Nová verze" label_version_plural: "Verze" - label_version_sharing_descendants: "S podprojekty" + label_version_sharing_descendants: "S Podprojekty" label_version_sharing_hierarchy: "S hierarchií projektu" label_version_sharing_none: "Není sdíleno" label_version_sharing_system: "Se všemi projekty" @@ -2616,28 +2616,28 @@ cs: digests: including_mention_singular: "včetně zmínky" including_mention_plural: "včetně %{number_mentioned} zmínění" - unread_notification_singular: "1 nepřečtená notifikace" - unread_notification_plural: "%{number_unread} nepřečtených notifikací" + unread_notification_singular: "1 nepřečtené oznámení" + unread_notification_plural: "%{number_unread} nepřečtených oznámení" you_have: "Máte" logo_alt_text: "Logo" mention: subject: "%{user_name} vás zmínil v #%{id} - %{subject}" notification: - center: "Centrum notifikací" + center: "Centrum oznámení" see_in_center: "Zobrazit komentář v oznamovacím centru" settings: "Změnit nastavení e-mailu" salutation: "Ahoj %{user}!" salutation_full_name: "Jméno a příjmení" work_packages: created_at: "Vytvořeno v %{timestamp} uživatelem %{user} " - login_to_see_all: "Přihlaste se pro zobrazení všech notifikací." + login_to_see_all: "Přihlaste se pro zobrazení všech oznámení." mentioned: "Byli jste zmíněni v komentáři" mentioned_by: "%{user} vás zmínil v komentáři" more_to_see: - one: "Existuje ještě 1 pracovní balíček s notifikací." - few: "Existuje ještě %{count} pracovních balíčků s notifikacema." - many: "Existuje ještě %{count} pracovních balíčků s notifikacema." - other: "Existuje ještě %{count} pracovních balíčků s notifikacema." + one: "Existuje ještě 1 pracovní balíček s oznámeními." + few: "Existuje ještě %{count} pracovních balíčků s oznámeními." + many: "Existuje ještě %{count} pracovních balíčků s oznámeními." + other: "Existuje ještě %{count} pracovních balíčků s oznámeními." open_in_browser: "Otevřít v prohlížeči" reason: watched: "Sledováno" @@ -2646,7 +2646,7 @@ cs: mentioned: "Zmíněné" shared: "Sdílené" subscribed: "vše" - prefix: "Obdrženo z důvodu nastavení notifikací: %{reason}" + prefix: "Obdrženo z důvodu nastavení oznámení: %{reason}" date_alert_start_date: "Upozornění na datum" date_alert_due_date: "Upozornění na datum" see_all: "Zobrazit vše" @@ -2920,7 +2920,7 @@ cs: permission_move_work_packages: "Přesun pracovních balíčků" permission_protect_wiki_pages: "Ochrana stránky wiki" permission_rename_wiki_pages: "Přejmenovat stránky wiki" - permission_save_queries: "Uložit zobrazení" + permission_save_queries: "Uložit pohled" permission_search_project: "Hledat projekt" permission_select_custom_fields: "Vybrat vlastní pole" permission_select_project_custom_fields: "Vyberte atributy projektu" @@ -3299,7 +3299,7 @@ cs: enable_subscriptions_text_html: Umožňuje uživatelům s nezbytnými oprávněními přihlásit se do OpenProject kalendářů a získat přístup k informacím o pracovním balíčku prostřednictvím externího klienta kalendáře. Poznámka: Před povolením si prosím přečtěte iCalendar předplatné. language_name_being_default: "%{language_name} (výchozí)" notifications: - events_explanation: "Určuje, pro kterou událost je odeslán e-mail. Pracovní balíčky jsou z tohoto seznamu vyloučeny, protože notifikace pro ně mohou být nastavena speciálně pro každého uživatele." + events_explanation: "Určuje, pro kterou událost je odeslán e-mail. Pracovní balíčky jsou z tohoto seznamu vyloučeny, protože oznámení pro ně mohou být nastavena speciálně pro každého uživatele." delay_minutes_explanation: "Odesílání e-mailu může být pozdrženo, aby bylo uživatelům s nakonfigurovaným v oznámení aplikace před odesláním pošty potvrzeno oznámení. Uživatelé, kteří si přečtou oznámení v aplikaci, nedostanou e-mail pro již přečtené oznámení." other: "Ostatní" passwords: "Hesla" @@ -3384,7 +3384,7 @@ cs: text_destroy_with_associated: "Existují další objekty, které jsou přiřazeny k pracovním balíčkům a které mají být odstraněny. Tyto objekty jsou následující typy:" text_destroy_what_to_do: "Co chcete udělat?" text_diff_truncated: "... Toto rozlišení bylo zkráceno, protože přesahuje maximální velikost, kterou lze zobrazit." - text_email_delivery_not_configured: "Doručení e-mailu není nakonfigurováno a notifikace jsou zakázány.\nNakonfigurujte váš SMTP server pro jejich povolení." + text_email_delivery_not_configured: "Doručení e-mailu není nakonfigurováno a oznámení jsou zakázána.\nNakonfigurujte váš SMTP server pro jejich povolení." text_enumeration_category_reassign_to: "Přiřadit je k této hodnotě:" text_enumeration_destroy_question: "%{count} objektů je přiřazeno k této hodnotě." text_file_repository_writable: "Do adresáře příloh lze zapisovat" diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index 65cbe6b291d7..a883c3319fe0 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -48,7 +48,7 @@ de: main-menu-border-color: "Rahmenfarbe des Hauptmenüs" custom_colors: "Benutzerdefinierte Farben" customize: "Passen Sie Ihre OpenProject Installation mit Ihrem eigenen Logo und eigenen Farben an." - enterprise_notice: "Dieses kleine Add-on steht den Abonnenten der Enterprise-Edition ganz exklusiv als kleines Dankeschön für deren finanzielle Unterstützung zur Verfügung." + enterprise_notice: "Diese kleine Erweiterung steht den Abonnenten der Enterprise edition ganz exklusiv als kleines Dankeschön für deren finanzielle Unterstützung zur Verfügung." enterprise_more_info: "Hinweis: Das verwendete Logo wird öffentlich zugänglich sein." manage_colors: "Farbauswahloptionen bearbeiten" instructions: @@ -61,15 +61,15 @@ de: main-menu-bg-color: "Hintergrundfarbe des Menüs in der linken Seitenleiste." theme_warning: Das Ändern des Themes wird Ihr benutzerdefiniertes Design überschreiben. Alle Änderungen werden dann verloren gehen. Sind Sie sicher, dass Sie fortfahren möchten? enterprise: - upgrade_to_ee: "Auf Enterprise-Edition upgraden" - add_token: "Enterprise-Edition Support Token hochladen" + upgrade_to_ee: "Auf Enterprise edition upgraden" + add_token: "Enterprise edition Support Token hochladen" delete_token_modal: - text: "Sind Sie sicher, dass Sie das aktuelle Enterprise Edition-Token entfernen möchten?" + text: "Sind Sie sicher, dass Sie das aktuelle Enterprise edition token entfernen möchten?" title: "Token löschen" replace_token: "Aktuellen Enterprise edition Support Token ersetzen" order: "Enterprise on-premises bestellen" - paste: "Enterprise-Edition Support Token hier einfügen" - required_for_feature: "Dieses Add-on ist nur mit einem aktiven Enterprise-Edition Support-Token verfügbar." + paste: "Enterprise edition Support Token hier einfügen" + required_for_feature: "Dieses Add-on ist nur mit einem aktiven Enterprise edition Support-Token verfügbar." enterprise_link: "Klicken Sie hier für weitere Informationen." start_trial: "Kostenlose Testversion starten" book_now: "Jetzt buchen" @@ -1591,7 +1591,7 @@ de: error_cookie_missing: "Das OpenProject Cookie fehlt. Bitte stellen Sie sicher, dass Cookies aktiviert sind, da diese Applikation ohne aktivierte Cookies nicht korrekt funktioniert." error_custom_option_not_found: "Option ist nicht vorhanden." error_enterprise_activation_user_limit: "Ihr Konto konnte nicht aktiviert werden (Nutzerlimit erreicht). Bitte kontaktieren Sie Ihren Administrator um Zugriff zu erhalten." - error_enterprise_token_invalid_domain: "Die Enterprise-Edition ist nicht aktiv. Die aktuelle Domain (%{actual}) entspricht nicht dem erwarteten Hostnamen (%{expected})." + error_enterprise_token_invalid_domain: "Die Enterprise edition ist nicht aktiv. Die aktuelle Domain (%{actual}) entspricht nicht dem erwarteten Hostnamen (%{expected})." error_failed_to_delete_entry: "Fehler beim Löschen dieses Eintrags." error_in_dependent: "Fehler beim Versuch, abhängiges Objekt zu ändern: %{dependent_class} #%{related_id} - %{related_subject}: %{error}" error_in_new_dependent: "Fehler beim Versuch, abhängiges Objekt zu erstellen: %{dependent_class} - %{related_subject}: %{error}" @@ -1756,10 +1756,10 @@ de: blocks: community: "OpenProject Community" upsale: - title: "Auf Enterprise-Edition upgraden" + title: "Auf Enterprise edition upgraden" more_info: "Weitere Informationen" links: - upgrade_enterprise_edition: "Auf Enterprise-Edition upgraden" + upgrade_enterprise_edition: "Auf Enterprise edition upgraden" postgres_migration: "Migration Ihrer Installation zu PostgreSQL" user_guides: "Benutzerhandbuch" faq: "Häufig gestellte Fragen" @@ -1793,7 +1793,7 @@ de: dates: working: "%{date} ist jetzt ein Arbeitstag" non_working: "%{date} ist jetzt ein arbeitsfreier Tag" - progress_mode_changed_to_status_based: Fortschrittberechnung wurde auf Status-bezogen gesetzt + progress_mode_changed_to_status_based: Fortschrittberechnung wurde auf Status-basiert gesetzt status_excluded_from_totals_set_to_false_message: jetzt in den Gesamtwerten der Hierarchie enthalten status_excluded_from_totals_set_to_true_message: jetzt von den Hierarchie-Gesamtwerten ausgeschlossen status_percent_complete_changed: "% vollständig von %{old_value}% auf %{new_value} % geändert" @@ -2065,7 +2065,7 @@ de: label_enumerations: "Aufzählungen" label_enterprise: "Enterprise" label_enterprise_active_users: "%{current}/%{limit} gebuchte aktive Nutzer" - label_enterprise_edition: "Enterprise Edition" + label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise Support" label_enterprise_addon: "Enterprise Add-on" label_environment: "Umgebung" @@ -3009,8 +3009,8 @@ de: update_timeout: "Speichere die Informationen bzgl. des genutzten Festplattenspeichers eines Projektarchivs für N Minuten.\nErhöhen Sie diesen Wert zur Verbesserung der Performance, da die Erfassung des genutzten Festplattenspeichers Ressourcen-intensiv ist." oauth_application_details: "Der Client Geheimcode wird nach dem Schließen dieses Fensters nicht mehr zugänglich sein. Bitte kopieren Sie diese Werte in die Nextcloud OpenProject Integrationseinstellungen:" oauth_application_details_link_text: "Zu den Einstellungen gehen" - setup_documentation_details: "Wenn Sie Hilfe bei der Konfiguration eines neuen Dateispeichers benötigen, konsultieren Sie bitte die Dokumentation: " - setup_documentation_details_link_text: "Dateispeicher einrichten" + setup_documentation_details: "Wenn Sie Hilfe bei der Konfiguration eines neuen Datei-Speichers benötigen, konsultieren Sie bitte die Dokumentation: " + setup_documentation_details_link_text: "Datei-Speicher einrichten" show_warning_details: "Um diesen Dateispeicher nutzen zu können, müssen Sie das Modul und den spezifischen Speicher in den Projekteinstellungen jedes gewünschten Projekts aktivieren." subversion: existing_title: "Vorhandenes Subversion Projektarchiv" @@ -3470,7 +3470,7 @@ de: warning_user_limit_reached_admin: > Das Hinzufügen zusätzlicher Benutzer überschreitet das aktuelle Benutzerlimit. Bitte aktualisieren Sie Ihr Abonnement um sicherzustellen, dass externe Benutzer auf diese Instanz zugreifen können. warning_user_limit_reached_instructions: > - Du hast dein Nutzerlimit erreicht (%{current}/%{max} active users). Bitte kontaktiere sales@openproject.com um deinen Enterprise Edition Plan upzugraden und weitere Nutzer hinzuzufügen. + Du hast dein Nutzerlimit erreicht (%{current}/%{max} active users). Bitte kontaktiere sales@openproject.com um deinen Enterprise edition Plan upzugraden und weitere Nutzer hinzuzufügen. warning_protocol_mismatch_html: > warning_bar: diff --git a/config/locales/crowdin/fr.yml b/config/locales/crowdin/fr.yml index 5638c54d1a0d..3bde23f3654b 100644 --- a/config/locales/crowdin/fr.yml +++ b/config/locales/crowdin/fr.yml @@ -265,8 +265,8 @@ fr: no_results_title_text: Aucun projet pour le moment no_results_content_text: Créer un nouveau projet search: - label: Project name filter - placeholder: Search by project name + label: Filtre sur le nom du projet + placeholder: Recherche par nom de projet lists: active: "Projets actifs" my: "Mes projets" @@ -1039,10 +1039,10 @@ fr: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match Work and Remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" - must_be_set_when_remaining_work_is_set: "required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "ne correspond pas au Travail et au Travail restant" + cannot_be_set_when_work_is_zero: "ne peut pas être défini lorsque le Travail est nul" + must_be_set_when_remaining_work_is_set: "requis lorsque le Travail restant est défini." + must_be_set_when_work_and_remaining_work_are_set: "requis lorsque le Travail et le Travail restant sont définis." inclusion: "doit être compris entre 0 et 100." due_date: not_start_date: "n'est pas identique à la date de début, bien que cela soit requis pour les jalons." @@ -1072,17 +1072,17 @@ fr: does_not_exist: "La catégorie spécifiée n'existe pas." estimated_hours: not_a_number: "n'est pas une durée valide." - cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." + cant_be_inferior_to_remaining_work: "ne peut être inférieur au travail restant." + must_be_set_when_remaining_work_and_percent_complete_are_set: "requis lorsque le Travail et le % Complété sont définis." remaining_hours: not_a_number: "n'est pas une durée valide." - cant_exceed_work: "cannot be higher than Work." - must_be_set_when_work_is_set: "required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + cant_exceed_work: "ne peut être supérieur à Travail." + must_be_set_when_work_is_set: "requis lorsque le Travail est défini." + must_be_set_when_work_and_percent_complete_are_set: "requis lorsque le Travail et le % Complété sont définis." must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- - must be 0h when Work is set and % Complete is 100%. + doit être 0h lorsque le travail est défini et % Complété est de 100 %. must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- - must be empty when Work is empty and % Complete is 100%. + doit être vide lorsque le Travail est vide et le % Complété est de 100 %. readonly_status: "Le lot de travaux est en lecture seule, ses attributs ne peuvent donc pas être changés." type: attributes: @@ -1649,10 +1649,10 @@ fr: subproject: "Sous-projet : %{name}" export: dialog: - title: "Export" - submit: "Export" + title: "Exporter" + submit: "Exporter" format: - label: "File format" + label: "Format de fichier" options: csv: label: "CSV" diff --git a/config/locales/crowdin/id.yml b/config/locales/crowdin/id.yml index 84eef066d0d7..fc6d5d91aa9a 100644 --- a/config/locales/crowdin/id.yml +++ b/config/locales/crowdin/id.yml @@ -2055,7 +2055,7 @@ id: label_file_plural: "File" label_filter_add: "Tambah Filter" label_filter: "Filter" - label_filter_plural: "Penyaring" + label_filter_plural: "Filter" label_filters_toggle: "Tampilkan/Sembunyikan penyaringan" label_float: "Float" label_folder: "Folder" diff --git a/config/locales/crowdin/it.yml b/config/locales/crowdin/it.yml index bd6e4af4e2d5..ab5d960a9014 100644 --- a/config/locales/crowdin/it.yml +++ b/config/locales/crowdin/it.yml @@ -64,11 +64,11 @@ it: upgrade_to_ee: "Aggiorna a Enterprise edition" add_token: "Carica un token di assistenza per Enterprise edition" delete_token_modal: - text: "Vuoi davvero rimuovere il token Enterprise Edition attualmente utilizzato?" + text: "Vuoi davvero rimuovere il token Enterprise edition attualmente utilizzato?" title: "Elimina token" replace_token: "Sostituisci il token di assistenza attuale" order: "Ordina l'edizione Enterprise on-premises" - paste: "Incolla il tuo token di assistenza per Enterprise Edition" + paste: "Incolla il tuo token di assistenza per Enterprise edition" required_for_feature: "Questa aggiunta è disponibile solo con un token di assistenza Enterprise Edition attivo." enterprise_link: "Per ulteriori informazioni, clicca qui." start_trial: "Inizia la prova gratuita" @@ -804,7 +804,7 @@ it: confirmation: "non coincide con %{attribute}." could_not_be_copied: "%{dependency} non può essere (completamente) copiato." does_not_exist: "non esiste." - error_enterprise_only: "%{action} è disponibile solo in OpenProject Enterprise Edition" + error_enterprise_only: "%{action} è disponibile solo in OpenProject Enterprise edition" error_unauthorized: "potrebbe non essere accessibile." error_readonly: "è in sola lettura, pertanto non è stato possibile modificarlo." error_conflict: "L'informazione è stata aggiornata da almeno un altro utente nel frattempo." @@ -1594,7 +1594,7 @@ it: error_cookie_missing: "Il cookie di OpenProject è mancante. Prego, verifica che i cookie siano attivati, questa applicazione non funziona correttamente senza." error_custom_option_not_found: "L'opzione non esiste." error_enterprise_activation_user_limit: "Il tuo account potrebbe non essere attivo (raggiunto il limite utente). Si prega di contattare l'amministratore per ottenere l'accesso." - error_enterprise_token_invalid_domain: "L'Enterprise Edition non è attiva. Il dominio del token Enterprise (%{actual}) non corrisponde al nome host del sistema (%{expected})." + error_enterprise_token_invalid_domain: "L'Enterprise edition non è attiva. Il dominio del token Enterprise (%{actual}) non corrisponde al nome host del sistema (%{expected})." error_failed_to_delete_entry: "Cancellazione voce non riuscita." error_in_dependent: "Errore nel tentativo di modificare l'oggetto dipendente: %{dependent_class} #%{related_id} - %{related_subject}: %{error}" error_in_new_dependent: "Errore nel tentativo di creare un oggetto dipendente: %{dependent_class} - %{related_subject}: %{error}" @@ -1759,10 +1759,10 @@ it: blocks: community: "Comunità di OpenProject" upsale: - title: "Aggiorna ad Enterprise Edition" + title: "Aggiorna ad Enterprise edition" more_info: "Altre informazioni" links: - upgrade_enterprise_edition: "Aggiorna ad Enterprise Edition" + upgrade_enterprise_edition: "Aggiorna ad Enterprise edition" postgres_migration: "Migrazione dell'installazione su PostgreSQL" user_guides: "Guide utente" faq: "FAQ" @@ -2068,7 +2068,7 @@ it: label_enumerations: "Enumerazioni" label_enterprise: "Enterprise" label_enterprise_active_users: "%{current}/%{limit} utenti attivi riservati" - label_enterprise_edition: "Enterprise Edition" + label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Supporto per Imprese" label_enterprise_addon: "Componente aggiuntivo Enterprise" label_environment: "Ambiente" diff --git a/config/locales/crowdin/js-ca.yml b/config/locales/crowdin/js-ca.yml index f6796c90e146..748575e1696a 100644 --- a/config/locales/crowdin/js-ca.yml +++ b/config/locales/crowdin/js-ca.yml @@ -102,7 +102,7 @@ ca: button_save: "Desa" button_settings: "Configuració" button_uncheck_all: "Desmarca-ho tot" - button_update: "Actualitzar" + button_update: "Actualitza" button_export-pdf: "Descarregar PDF" button_export-atom: "Descarregar Atom" button_create: "Crear" @@ -757,7 +757,7 @@ ca: label: "Pausa els correu electrònic recordatori temporalment" first_day: "Primer dia" last_day: "Últim dia" - text_are_you_sure: "N'estas segur?" + text_are_you_sure: "N'esteu segur?" text_data_lost: "Totes les dades entrades es perdran." text_user_wrote: "%{value} va escriure:" types: diff --git a/config/locales/crowdin/js-fr.yml b/config/locales/crowdin/js-fr.yml index 0952189c86a9..3136798a8d77 100644 --- a/config/locales/crowdin/js-fr.yml +++ b/config/locales/crowdin/js-fr.yml @@ -138,8 +138,8 @@ fr: description_select_work_package: "Sélectionner le lot de travaux #%{id}" description_subwork_package: "Enfant du lot de travaux #%{id}" editor: - revisions: "Show local modifications" - no_revisions: "No local modifications found" + revisions: "Afficher les modifications locales" + no_revisions: "Aucune modification locale trouvée" preview: "Basculer en mode aperçu" source_code: "Basculer en mode source Markdown" error_saving_failed: "L'enregistrement du document a échoué en raison de l'erreur suivante : %{error}" @@ -188,15 +188,15 @@ fr: without_type: "Créer un lot de travaux" with_type: "Créer un lot de travaux (Type : %{typename})" embedded_table: - button: "Intégrer le tableau du lot de travaux" - text: "[Placeholder] Tableau du lot de travaux intégré" + button: "Tableau intégré de lots de travaux" + text: "[Placeholder] Tableau intégré de lots de travaux" embedded_calendar: text: "[Placeholder] Calendrier embarqué" admin: type_form: custom_field: "Champ personnalisé" inactive: "Inactif" - drag_to_activate: "Faites glisser les champs ici pour les activer" + drag_to_activate: "Faire glisser les champs ici pour les activer" add_group: "Ajouter un groupe d’attributs" add_table: "Ajouter un tableau des lots de travaux associés" edit_query: "Modifier la requête" @@ -230,7 +230,7 @@ fr: next_steps: "Prochaines étapes" resend_link: "Renvoyer" resend_success: "L'e-mail a été renvoyé. Veuillez vérifier vos e-mails et cliquer sur le lien de confirmation fourni." - resend_warning: "Impossible de renvoyer l'e-mail" + resend_warning: "Impossible de renvoyer l'e-mail." session_timeout: "Votre session a expiré. Veuillez rafraîchir la page ou renvoyer l'e-mail." status_label: "Statut :" status_confirmed: "confirmé" @@ -250,7 +250,7 @@ fr: premium_features: "Add-ons Entreprise" premium_features_text: "Tableaux agiles, thème et logo personnalisés, graphiques, flux de travail intelligents avec actions personnalisées, recherche en plein texte des pièces jointes de lots de travaux et champs personnalisés à choix multiples" professional_support: "Support professionnel" - professional_support_text: "Obtenez une assitance fiable et à haut contact de la part d'ingénieurs d'assistance expérimentés qui ont une connaissance approfondie de la mise en œuvre d'OpenProject dans des environnements critiques pour l'entreprise." + professional_support_text: "Obtenez une assistance fiable et disponible de la part d'ingénieurs d'assistance expérimentés qui ont une connaissance approfondie de la mise en œuvre d'OpenProject dans des environnements critiques pour l'entreprise." button_start_trial: "Commencer l'essai gratuit" button_upgrade: "Mettre à niveau maintenant" button_contact_us: "Contactez-nous pour une démo" @@ -279,9 +279,9 @@ fr: Voulez-vous continuer ? work_packages_settings: warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- - Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + Passer du mode de calcul de la progression basé sur le statut au mode basé sur le travail transformera % réalisé en champ non modifiable dont la valeur est dérivée des champs Travail et Travail restant. Les valeurs existantes pour % réalisé sont conservées. Des valeurs pour Travail et Travail restant sont requises pour modifier % réalisé. warning_progress_calculation_mode_change_from_status_to_field_html: >- - Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. + Passer du mode de calcul de la progression basé sur le statut au mode basé sur le travail transformera % réalisé en champ librement modifiable. Si vous complétez les champs Travail et Travail restant, ils seront également liés à % réalisé. Changer le champ Travail restant peut alors changer le % réalisé. warning_progress_calculation_mode_change_from_field_to_status_html: >- Passer du mode de calcul de la progression basé sur le travail au mode basé sur le statut entraînera la perte de toutes les valeurs de % réalisé existantes et leur remplacement par les valeurs associées à chaque statut. Les valeurs existantes pour Travail restant peuvent également être recalculées pour refléter ce changement. Cette action est irréversible. custom_actions: @@ -295,13 +295,13 @@ fr: embedded_table_loading: "La vue intégrée n’a pas pu être chargée : %{message}" enumeration_activities: "Activités (suivi de temps)" enumeration_doc_categories: "Catégories de documents" - enumeration_work_package_priorities: "Priorités du Lot de Travaux" + enumeration_work_package_priorities: "Priorités des lots de travaux" filter: more_values_not_shown: "Il y a %{total} résultats supplémentaires, effectuez une recherche pour filtrer les résultats." description: - text_open_filter: "Ouvrir ce filtre avec les touches « ALT » et fléchées." - text_close_filter: "Pour sélectionner une entrée, laissez le focus par exemple en appuyant sur enter. Pour quitter sans filtre, sélectionnez la première entrée (vide)." - noneElement: "(none)" + text_open_filter: "Ouvrir ce filtre avec la touche « ALT » et les touches fléchées." + text_close_filter: "Pour sélectionner une entrée, laissez le focus par exemple en appuyant sur Entrée. Pour quitter sans filtre, sélectionnez la première entrée (vide)." + noneElement: "(aucun)" time_zone_converted: two_values: "%{from} - %{to} dans votre heure locale." only_start: "À partir de %{from} dans votre heure locale." @@ -346,8 +346,8 @@ fr: general_text_Yes: "Oui" hal: error: - update_conflict_refresh: "Cliquez ici pour actualiser la resource et mettre à jour vers la version la plus récente." - edit_prohibited: "L'édition de %{attribute} est bloquée pour cette ressource. Soit cet attribut est dérivé de relations (ex, enfants), soit autrement non configurable." + update_conflict_refresh: "Cliquez ici pour actualiser la ressource et mettre à jour vers la version la plus récente." + edit_prohibited: "La modification de %{attribute} est bloquée pour cette ressource. Soit cet attribut est dérivé de relations (ex. enfants), soit il n'est pas configurable." format: date: "%{attribute} n’est pas une date valide. Format attendu : AAAA-MM-JJ." general: "Une erreur s'est produite." @@ -379,11 +379,11 @@ fr: label_add_column_before: "Ajouter une colonne avant" label_add_columns: "Ajouter des colonnes" label_add_comment: "Ajouter un commentaire" - label_add_comment_title: "Commentez et utilisez @ pour informer d’autres personnes." + label_add_comment_title: "Commentez et utilisez @ pour informer d’autres personnes" label_add_row_after: "Ajouter une ligne après" label_add_row_before: "Ajouter une ligne avant" label_add_selected_columns: "Ajouter les colonnes sélectionnées" - label_added_by: "Ajouté par" + label_added_by: "ajouté par" label_added_time_by: 'Ajouté par %{author} le %{age}' label_ago: "il y a" label_all: "tous" @@ -397,13 +397,13 @@ fr: label_board: "Tableau" label_board_locked: "Verrouillé" label_board_plural: "Tableaux" - label_board_sticky: "Epinglé" + label_board_sticky: "Épinglé" label_change: "Changer" label_create: "Créer" label_create_work_package: "Créer un nouveau lot de travaux" label_created_by: "Créé par" - label_current: "current" - label_date: "date" + label_current: "actuel" + label_date: "Date" label_date_with_format: "Saisissez l'attribut %{date_attribute} en utilisant le format suivant : %{format}" label_deactivate: "Désactiver" label_descending: "Décroissant" @@ -412,20 +412,20 @@ fr: label_display: "Affichage" label_cancel_comment: "Annuler le commentaire" label_closed_work_packages: "clôturé" - label_collapse: "Regrouper" - label_collapsed: "regroupé" + label_collapse: "Replier" + label_collapsed: "replié" label_collapse_all: "Tout replier" label_comment: "Commentaire" label_committed_at: "%{committed_revision_link} le %{date}" label_committed_link: "révision %{revision_identifier} soumise" label_contains: "contenus" label_created_on: "créé le" - label_edit_comment: "Éditer ce commentaire" + label_edit_comment: "Modifier ce commentaire" label_edit_status: "Modifier le statut du lot de travaux" - label_email: "Courriel" + label_email: "Adresse e-mail" label_equals: "est" - label_expand: "développer" - label_expanded: "étendu" + label_expand: "Déplier" + label_expanded: "déplié" label_expand_all: "Tout déplier" label_expand_project_menu: "Déplier le menu du projet" label_export: "Exporter" @@ -519,7 +519,7 @@ fr: label_time_entry_plural: "Temps passé" label_up: "Haut" label_user_plural: "Utilisateurs" - label_activity_show_only_comments: "Afficher les activités avec les commentaires seulement" + label_activity_show_only_comments: "Afficher les activités avec des commentaires uniquement" label_activity_show_all: "Afficher toutes les activités" label_total_progress: "%{percent}% de progression totale" label_total_amount: "Total : %{amount}" @@ -544,21 +544,21 @@ fr: label_global_queries: "Public" label_custom_queries: "Privé" label_columns: "Colonnes" - label_attachments: Fichiers + label_attachments: Pièces jointes label_drop_files: "Déposez des fichiers ici pour joindre des fichiers." label_drop_or_click_files: "Déposez des fichiers ici ou cliquez pour joindre des fichiers." - label_drop_folders_hint: Vous ne pouvez pas télécharger les dossiers en pièce jointe. S’il vous plaît sélectionnez des fichiers seuls. - label_add_attachments: "Joindre fichiers" + label_drop_folders_hint: Vous ne pouvez pas déposer les dossiers en pièces jointes. Veuillez sélectionner des fichiers seuls. + label_add_attachments: "Joindre des fichiers" label_formattable_attachment_hint: "Insérer des fichiers en les glissant sur ce champ, ou en les collant depuis le presse-papiers." label_remove_file: "Supprimer %{fileName}" label_remove_watcher: "Retirer l'observateur %{name}" label_remove_all_files: Supprimer tous les fichiers label_add_description: "Ajouter une description pour %{file}" label_upload_notification: "Chargement des fichiers..." - label_work_package_upload_notification: "Transfert en cours des fichiers pour le lot de travaux #%{id}: %{subject}" + label_work_package_upload_notification: "Transfert en cours des fichiers pour le lot de travaux #%{id} : %{subject}" label_wp_id_added_by: "#%{id} ajouté par %{author}" - label_files_to_upload: "Ces fichiers vont être transférés:" - label_rejected_files: "Ces fichiers ne peuvent pas être transférés:" + label_files_to_upload: "Ces fichiers vont être transférés :" + label_rejected_files: "Ces fichiers ne peuvent pas être transférés :" label_rejected_files_reason: "Ces fichiers ne peuvent pas être transférés car leur taille est supérieure à %{maximumFilesize}" label_wait: "Veuillez patienter pendant la configuration…" label_upload_counter: "%{done} fichiers sur %{count} finis" @@ -1189,7 +1189,7 @@ fr: zero: "0 jour" word: one: "1 word" - other: "%{count} words" + other: "%{count} mots" zen_mode: button_activate: "Activer le mode zen" button_deactivate: "Désactiver le mode zen" diff --git a/config/locales/crowdin/js-id.yml b/config/locales/crowdin/js-id.yml index e133255e427f..55f9a40004f1 100644 --- a/config/locales/crowdin/js-id.yml +++ b/config/locales/crowdin/js-id.yml @@ -102,7 +102,7 @@ id: button_save: "Simpan" button_settings: "Pengaturan" button_uncheck_all: "Uncek semua" - button_update: "Perbarui" + button_update: "Update" button_export-pdf: "Download PDF" button_export-atom: "Download Atom" button_create: "Buat baru" diff --git a/config/locales/crowdin/js-no.yml b/config/locales/crowdin/js-no.yml index 7758851695d3..ce8edd7cc2a5 100644 --- a/config/locales/crowdin/js-no.yml +++ b/config/locales/crowdin/js-no.yml @@ -102,7 +102,7 @@ button_save: "Lagre" button_settings: "Innstillinger" button_uncheck_all: "Avmerk alle" - button_update: "Oppdater" + button_update: "Oppdatèr" button_export-pdf: "Last ned PDF" button_export-atom: "Last ned Atom" button_create: "Opprett" diff --git a/config/locales/crowdin/js-pt-BR.yml b/config/locales/crowdin/js-pt-BR.yml index 63cb73415d72..9a2376e4791c 100644 --- a/config/locales/crowdin/js-pt-BR.yml +++ b/config/locales/crowdin/js-pt-BR.yml @@ -360,7 +360,7 @@ pt-BR: "14_4": standard: new_features_html: > - The release contains various new features and improvements, such as:
  • Dark mode option in personal settings
  • Separate permissions for viewing and editing on project attributes
  • Improved status-based progress reporting
  • Connection validation for Nextcloud storages
  • More filter options for project lists
+ A versão contém vários novos recursos e aprimoramentos, como:
  • Opção de modo escuro nas configurações pessoais
  • Permissões separadas para visualização e edição dos atributos do projeto
  • Relatórios de progresso baseados em status aprimorados
  • Validação de conexão para armazenamentos Nextcloud
  • Mais opções de filtro para listas de projetos
ical_sharing_modal: title: "Assinar calendário" inital_setup_error_message: "Ocorreu um erro ao buscar dados." diff --git a/config/locales/crowdin/js-ro.yml b/config/locales/crowdin/js-ro.yml index 3f474cdde792..5bb6939aab9a 100644 --- a/config/locales/crowdin/js-ro.yml +++ b/config/locales/crowdin/js-ro.yml @@ -102,7 +102,7 @@ ro: button_save: "Salvează" button_settings: "Setări" button_uncheck_all: "Deselectează tot" - button_update: "Actualizează" + button_update: "Actualizare" button_export-pdf: "Descarcă PDF" button_export-atom: "Descarcă Atom" button_create: "Creează" @@ -757,7 +757,7 @@ ro: label: "Întrerupeți temporar memento-urile zilnice prin e-mail" first_day: "Prima zi" last_day: "Ultima zi" - text_are_you_sure: "Ești sigur?" + text_are_you_sure: "Sunteți sigur?" text_data_lost: "Toate datele introduse vor fi pierdute." text_user_wrote: "%{value} a scris:" types: diff --git a/config/locales/crowdin/js-ru.yml b/config/locales/crowdin/js-ru.yml index b454f9ee123c..21bdcfaf1463 100644 --- a/config/locales/crowdin/js-ru.yml +++ b/config/locales/crowdin/js-ru.yml @@ -102,7 +102,7 @@ ru: button_save: "Сохранить" button_settings: "Настройки" button_uncheck_all: "Снять все отметки" - button_update: "Обновить" + button_update: "Обновление" button_export-pdf: "Скачать PDF" button_export-atom: "Скачать Atom" button_create: "Создать" diff --git a/config/locales/crowdin/js-vi.yml b/config/locales/crowdin/js-vi.yml index 665f62f99cee..60856c46ea82 100644 --- a/config/locales/crowdin/js-vi.yml +++ b/config/locales/crowdin/js-vi.yml @@ -102,7 +102,7 @@ vi: button_save: "Lưu" button_settings: "Cài đặt" button_uncheck_all: "Bỏ chọn tất cả" - button_update: "Cập nhật" + button_update: "Cập Nhật" button_export-pdf: "Tải xuống PDF" button_export-atom: "Tải xuống Atom" button_create: "Tạo" diff --git a/config/locales/crowdin/js-zh-CN.yml b/config/locales/crowdin/js-zh-CN.yml index e70f8b25452e..68289e86ba07 100644 --- a/config/locales/crowdin/js-zh-CN.yml +++ b/config/locales/crowdin/js-zh-CN.yml @@ -1184,7 +1184,7 @@ zh-CN: other: "%{count} 天" zero: "0 天" word: - other: "%{count} words" + other: " %{count} 个单词" zen_mode: button_activate: "激活 zen 模式" button_deactivate: "取消激活 zen 模式" diff --git a/config/locales/crowdin/pl.yml b/config/locales/crowdin/pl.yml index f8ee29dc4695..67fefcc4b648 100644 --- a/config/locales/crowdin/pl.yml +++ b/config/locales/crowdin/pl.yml @@ -818,7 +818,7 @@ pl: confirmation: "nie pasuje do %{attribute}." could_not_be_copied: "Nie można było (w pełni) skopiować %{dependency}." does_not_exist: "nie istnieje." - error_enterprise_only: "%{action} jest dostępna tylko w OpenProject Enterprise Edition" + error_enterprise_only: "%{action} jest dostępna tylko w OpenProject Enterprise edition" error_unauthorized: "— nie można uzyskac dostępu." error_readonly: "— podjęto próbę zapisu, ale nie jest zapisywalny." error_conflict: "Information has been updated by at least one other user in the meantime." diff --git a/config/locales/crowdin/pt-BR.yml b/config/locales/crowdin/pt-BR.yml index c57cc6f876fc..fbce2bed5b74 100644 --- a/config/locales/crowdin/pt-BR.yml +++ b/config/locales/crowdin/pt-BR.yml @@ -211,12 +211,12 @@ pt-BR: reorder_confirmation: "Aviso: A ordem atual dos valores disponíveis será perdida. Continuar?" instructions: is_required: "Marcar o campo personalizado como obrigatório. Isto tornará obrigatório o preenchimento do campo ao criar novos recursos ou ao atualizar recursos existentes." - is_required_for_project: "Check to enable this attribute and make it required in all projects. It cannot be deactived for individual projects." + is_required_for_project: "Marque para ativar esse atributo e torná-lo obrigatório em todos os projetos. Ele não pode ser desativado para projetos individuais." is_for_all: "Marcar o campo personalizado como disponível em todos os projetos existentes e novos." searchable: "Incluir os valores dos campos ao utilizar a funcionalidade de busca global." - searchable_for_project: "Check to make this attribute available as a filter in project lists." + searchable_for_project: "Marque para tornar esse atributo disponível como um filtro nas listas de projetos." editable: "Permita que o campo seja editável pelos próprios usuários." - admin_only: "Check to make this attribute only visible to administrators. Users without admin rights will not be able to view or edit it." + admin_only: "Marque para tornar esse atributo visível apenas para os administradores. Os usuários sem direitos de administrador não poderão visualizá-lo ou editá-lo." is_filter: > Permita que o campo personalizado seja utilizado num filtro nas visualizações do pacote de trabalho. Note que apenas com a opção "Para todos os projetos" selecionada, o campo personalizado irá aparecer nas visualizações globais. tab: @@ -264,8 +264,8 @@ pt-BR: no_results_title_text: Atualmente, não existem projetos no_results_content_text: Criar um novo projeto search: - label: Project name filter - placeholder: Search by project name + label: Filtro de nome de projeto + placeholder: Pesquisar por nome de projeto lists: active: "Projetos ativos" my: "Meus projetos" @@ -391,8 +391,8 @@ pt-BR: my: access_token: create_dialog: - header: The %{type} token has been generated - warning: Note that this is the only time you will see this token, make sure to copy it now. + header: O token %{type} foi gerado + warning: Note que esta é a única vez que você verá esse token, certifique-se de copiá-lo agora. errors: token_name_blank: "Forneça um nome para o token de API." token_name_in_use: "Este nome de token de API já está em uso, escolha outro." @@ -622,7 +622,7 @@ pt-BR: possible_values: "Valores possíveis" regexp: "Expressão regular" searchable: "Pesquisável" - admin_only: "Admin-only" + admin_only: "Somente administrador" custom_value: value: "Valor" doorkeeper/application: @@ -692,7 +692,7 @@ pt-BR: versions: "Versões" work_packages: "Pacotes de Trabalho" project_custom_field: - is_required: "Required for all projects" + is_required: "Obrigatório para todos os projetos" custom_field_section: Seção query: column_names: "Colunas" @@ -1038,10 +1038,10 @@ pt-BR: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match Work and Remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" - must_be_set_when_remaining_work_is_set: "required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "não corresponde ao trabalho e ao trabalho restante" + cannot_be_set_when_work_is_zero: "não pode ser definido quando o trabalho é 0h" + must_be_set_when_remaining_work_is_set: "necessário quando o Trabalho restante for definido." + must_be_set_when_work_and_remaining_work_are_set: "necessário quando o Trabalho e o Trabalho restante são definidos." inclusion: "deve estar entre 0 e 100." due_date: not_start_date: "não é na data de início, embora isso seja necessário para os marcos." @@ -1071,17 +1071,17 @@ pt-BR: does_not_exist: "Categoria especificada não existe." estimated_hours: not_a_number: "não é uma duração válida." - cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." + cant_be_inferior_to_remaining_work: "não pode ser menor do que o Trabalho restante." + must_be_set_when_remaining_work_and_percent_complete_are_set: "necessário quando o Trabalho restante e o % concluído são definidos." remaining_hours: not_a_number: "não é uma duração válida." - cant_exceed_work: "cannot be higher than Work." - must_be_set_when_work_is_set: "required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + cant_exceed_work: "não pode ser maior que o Trabalho." + must_be_set_when_work_is_set: "necessário quando o Trabalho for definido." + must_be_set_when_work_and_percent_complete_are_set: "necessário quando Trabalho e % concluído são definidos." must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- - must be 0h when Work is set and % Complete is 100%. + deve ser 0h quando o trabalho é definido e % concluído é de 100%. must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- - must be empty when Work is empty and % Complete is 100%. + deve estar vazio quando Trabalho estiver vazio e %completo for 100%. readonly_status: "O pacote de trabalho está em estado somente leitura, então seus atributos não podem ser alterados." type: attributes: @@ -1165,8 +1165,8 @@ pt-BR: other: "Papéis" status: "Situação do pacote de trabalho" token/api: - one: Access token - other: Access tokens + one: Token de acesso + other: Tokens de acesso type: "Tipo" user: "Usuário" version: "Versão" @@ -1648,10 +1648,10 @@ pt-BR: subproject: "Subprojeto: %{name}" export: dialog: - title: "Export" - submit: "Export" + title: "Exportar" + submit: "Exportar" format: - label: "File format" + label: "Formato do arquivo" options: csv: label: "CSV" @@ -1660,37 +1660,37 @@ pt-BR: xls: label: "XLS" columns: - input_label_report: "Add columns to attribute table" - input_caption_report: "By default all attributes added as columns in the work package list are selected. Long text fields are not available in the attribute table, but can be displayed below it." - input_caption_table: "By default all attributes added as columns in the work package list are selected. Long text fields are not available in table based exports." + input_label_report: "Adicionar colunas à tabela de atributos" + input_caption_report: "Por padrão, todos os atributos adicionados como colunas na lista de pacotes de trabalho são selecionados. Os campos de texto longo não estão disponíveis na tabela de atributos, mas podem ser exibidos abaixo dela." + input_caption_table: "Por padrão, todos os atributos adicionados como colunas na lista de pacotes de trabalho são selecionados. Os campos de texto longo não estão disponíveis na tabela de atributos, mas podem ser exibidos abaixo dela." pdf: export_type: - label: "PDF export type" + label: "Formato de exportação de PDF" options: table: - label: "Table" - caption: "Export the work packages list in a table with the desired columns." + label: "Tabela" + caption: "Exporte a lista de pacotes de trabalho em uma tabela com as colunas desejadas." report: - label: "Report" - caption: "Export the work package on a detailed report of all work packages in the list." + label: "Relatório" + caption: "Exportar o pacote de trabalho em um relatório detalhado de todos os pacotes de trabalho da lista." gantt: - label: "Gantt chart" - caption: "Export the work packages list in a Gantt diagram view." + label: "Gráfico de Gantt" + caption: "Exportar a lista de pacotes de trabalho em uma visualização de diagrama de Gantt." include_images: - label: "Include images" - caption: "Exclude images to reduce the size of the PDF export." + label: "Incluir imagens" + caption: "Excluir imagens para reduzir o tamanho da exportação do PDF." gantt_zoom_levels: - label: "Zoom levels" - caption: "Select what is the zoom level for dates displayed in the chart." + label: "Níveis de ampliação" + caption: "Selecione qual é o nível de ampliação para as datas exibidas no gráfico." options: - days: "Days" - weeks: "Weeks" - months: "Months" - quarters: "Quarters" + days: "Dias" + weeks: "Semanas" + months: "Meses" + quarters: "Trimestres" column_width: - label: "Table column width" + label: "Largura da coluna da tabela" options: - narrow: "Narrow" + narrow: "Estreito" medium: "Medium" wide: "Wide" very_wide: "Very wide" diff --git a/config/locales/crowdin/ro.yml b/config/locales/crowdin/ro.yml index 18f916b57fff..cf80e3dee3cd 100644 --- a/config/locales/crowdin/ro.yml +++ b/config/locales/crowdin/ro.yml @@ -2093,7 +2093,7 @@ ro: label_duplicated_by: "dublat de" label_duplicate: "duplicat" label_duplicates: "dublează" - label_edit: "Editează" + label_edit: "Editare" label_edit_x: "Editare: %{x}" label_enable_multi_select: "Comutare selecție multiplă" label_enabled_project_custom_fields: "Câmpuri personalizate activate" @@ -2145,7 +2145,7 @@ ro: label_generate_key: "Generare cheie" label_git_path: "Calea catre directorul .git" label_greater_or_equal: ">=" - label_group_by: "Grupează după" + label_group_by: "Grupare după" label_group_new: "Grupare nouă" label_group: "Grup" label_group_named: "Grup %{name}" diff --git a/config/locales/crowdin/sl.yml b/config/locales/crowdin/sl.yml index 00fed2c09ece..28e79a652a23 100644 --- a/config/locales/crowdin/sl.yml +++ b/config/locales/crowdin/sl.yml @@ -1502,8 +1502,8 @@ sl: - "avgust" - "september" - "oktober" - - "november" - - "december" + - "November" + - "December" order: - :leto - :mesec diff --git a/config/locales/crowdin/tr.yml b/config/locales/crowdin/tr.yml index 68269daef45a..688ef6f4531b 100644 --- a/config/locales/crowdin/tr.yml +++ b/config/locales/crowdin/tr.yml @@ -1229,7 +1229,7 @@ tr: base: "Genel Hata:" blocks_ids: "Engellenen iş paketlerinin ID'leri" category: "Kategori" - comment: "Yorumlar" + comment: "Yorum" comments: "Yorum" content: "İçerik" color: "Renk" diff --git a/config/locales/crowdin/uk.yml b/config/locales/crowdin/uk.yml index 1624d8dc48db..98c60256fded 100644 --- a/config/locales/crowdin/uk.yml +++ b/config/locales/crowdin/uk.yml @@ -2199,7 +2199,7 @@ uk: label_index_by_title: "Індекс за назвою" label_information: "Інформація" label_information_plural: "Інформація" - label_installation_guides: "Інструкції із встановлення" + label_installation_guides: "Інструкції зі встановлення" label_integer: "Ціле число" label_internal: "Власне" label_introduction_video: "Введення відео" diff --git a/config/locales/crowdin/vi.yml b/config/locales/crowdin/vi.yml index 88766dcd0ed6..fff5d7331f19 100644 --- a/config/locales/crowdin/vi.yml +++ b/config/locales/crowdin/vi.yml @@ -2064,7 +2064,7 @@ vi: label_file_plural: "Tệp" label_filter_add: "Thêm bộ lọc" label_filter: "Bộ lọc" - label_filter_plural: "Các bộ lọc" + label_filter_plural: "Bộ lọc" label_filters_toggle: "Hiển thị/ẩn bộ lọc" label_float: "Số thực" label_folder: "Thư mục" diff --git a/config/locales/crowdin/zh-CN.seeders.yml b/config/locales/crowdin/zh-CN.seeders.yml index 64166d212273..037d46169ec8 100644 --- a/config/locales/crowdin/zh-CN.seeders.yml +++ b/config/locales/crowdin/zh-CN.seeders.yml @@ -81,7 +81,7 @@ zh-CN: demo-project: name: 演示项目 status_explanation: 所有任务都按计划进行。相关人员均知晓各自任务。系统已完全建立。 - description: 这是对此演示 Scrum 项目目标的简短摘要。 + description: 这是对此演示项目目标的简短摘要。 news: item_0: title: 欢迎来到您的演示项目 @@ -199,7 +199,7 @@ zh-CN: scrum-project: name: Scrum 项目 status_explanation: 所有任务都按计划进行。相关人员均知晓各自任务。系统已完全建立。 - description: 这是对此演示 Scrum 项目目标的简短摘要。 + description: 这是对此演示Scrum项目目标的简短摘要。 news: item_0: title: 欢迎来到您的 Scrum 演示项目 diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index 396e2ec5554b..90615fc3d625 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -67,7 +67,7 @@ zh-CN: text: "您确定要删除当前使用的企业版令牌吗?" title: "删除令牌" replace_token: "替换您当前的支持令牌" - order: "订购本地部署版的 Enterprise edition" + order: "订购本地部署的 Enterprise edition" paste: "粘贴您企业版的支持令牌" required_for_feature: "此功能仅限具激活的企业版支持令牌的订阅者使用。" enterprise_link: "如需了解详细信息,请单击此处。" @@ -2316,7 +2316,7 @@ zh-CN: label_revision_id: "修订版本 %{value}" label_revision_plural: "修订" label_roadmap: "路线图" - label_roadmap_edit: "编辑路线图%{name}" + label_roadmap_edit: "编辑路线图 %{name}" label_roadmap_due_in: "%{value} 到期" label_roadmap_no_work_packages: "该版本没有工作包。" label_roadmap_overdue: "%{value} 超时" @@ -2965,7 +2965,7 @@ zh-CN: managed: "在 OpenProject 中创建新的存储库" storage: not_available: "磁盘存储开销不可用于此存储库。" - update_timeout: "在 N 分钟内保留存储库最后所需的磁盘空间信息。由于计算存储库所需的磁盘空间可能增加系统开销,增加该值可以减少性能影响。" + update_timeout: "在 N 分钟内保留存储库最后所需磁盘空间的信息。由于计算存储库所需的磁盘空间可能增加系统开销,增加该值可以减少性能影响。" oauth_application_details: "关闭此窗口后,将无法再次访问客户端密钥值。请将这些值复制到 Nextcloud OpenProject 集成设置中:" oauth_application_details_link_text: "转到设置页面" setup_documentation_details: "如果您在配置新文件存储方面需要帮助,请查看文档:" @@ -3116,7 +3116,7 @@ zh-CN: setting_session_ttl_hint: "当设置的值低于5时,其作用类似于禁用。" setting_session_ttl_enabled: "会话过期" setting_start_of_week: "一周起始日" - setting_sys_api_enabled: "启用存储库管理网页服务" + setting_sys_api_enabled: "启用版本库管理 web 服务" setting_sys_api_description: "存储库管理网页服务提供了集成的,用户授权的存储库访问。" setting_time_format: "时间" setting_accessibility_mode_for_anonymous: "为匿名用户启用辅助功能模式" @@ -3428,7 +3428,7 @@ zh-CN: warning_user_limit_reached_admin: > 添加额外的用户将超出当前限制。请升级您的计划,以确保外部用户能够访问此实例。 warning_user_limit_reached_instructions: > - 您已达到用户限制(%{current}/%{max} 活跃用户)。请联系 sales@openproject.com 升级您的企业版计划以添加额外用户。 + 您达到了用户限制(%{current}/%{max}活跃用户)。 请联系sales@openproject.com以升级您的Enterprise edition计划并添加其他用户。 warning_protocol_mismatch_html: > warning_bar: diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index 2a2764865450..2d3174e08898 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -2060,7 +2060,7 @@ zh-TW: label_file_plural: "檔案" label_filter_add: "新增條件" label_filter: "篩選條件" - label_filter_plural: "篩選條件" + label_filter_plural: "篩選器" label_filters_toggle: "顯示/隱藏篩選條件" label_float: "浮點數" label_folder: "資料夾" @@ -2073,7 +2073,7 @@ zh-TW: label_generate_key: "產生一個金鑰" label_git_path: ".git 目錄的路徑" label_greater_or_equal: ">=" - label_group_by: "分類" + label_group_by: "分組依據" label_group_new: "新增群組" label_group: "群組" label_group_named: "群組名稱 %{name}" @@ -2084,7 +2084,7 @@ zh-TW: label_history: "歷史" label_hierarchy_leaf: "頁面結構頁" label_home: "Home" - label_subject_or_id: "名稱或 id" + label_subject_or_id: "主旨或 id" label_calendar_subscriptions: "訂閱行事曆" label_identifier: "識別碼" label_in: "在" @@ -2127,7 +2127,7 @@ zh-TW: label_latest_revision_plural: "最新版本" label_ldap_authentication: "LDAP 認證" label_learn_more: "了解更多" - label_less_or_equal: "之後" + label_less_or_equal: "<=" label_less_than_ago: "幾天內" label_link_url: "連結(URL)" label_list: "清單" diff --git a/modules/backlogs/config/locales/crowdin/zh-TW.yml b/modules/backlogs/config/locales/crowdin/zh-TW.yml index 6a7b6d653910..aaef165b374f 100644 --- a/modules/backlogs/config/locales/crowdin/zh-TW.yml +++ b/modules/backlogs/config/locales/crowdin/zh-TW.yml @@ -21,7 +21,7 @@ #++ zh-TW: plugin_openproject_backlogs: - name: "OpenProject待辦事項" + name: "OpenProject代辦事項" description: "此模組新增了讓敏捷團隊能夠在 Scrum 專案中使用 OpenProject 的功能。" activerecord: attributes: diff --git a/modules/bim/config/locales/crowdin/fr.yml b/modules/bim/config/locales/crowdin/fr.yml index 9e4ab945797c..1be78163d4bc 100644 --- a/modules/bim/config/locales/crowdin/fr.yml +++ b/modules/bim/config/locales/crowdin/fr.yml @@ -58,7 +58,7 @@ fr: perform_description: "Voulez-vous importer ou mettre à jour les problèmes repris ci-dessus ?" replace_with_system_user: 'Les remplacer par l''utilisateur "Système"' import_as_system_user: 'Les importer comme utilisateur "Système".' - what_to_do: "Que voulez-vous faire ?" + what_to_do: "Que voulez-vous faire?" work_package_has_newer_changes: "Obsolète ! Ce sujet n'a pas été mis à jour, car les derniers changements sur le serveur étaient plus récents que la \"ModifiedDate\" du sujet importé. Toutefois, les commentaires sur le sujet ont été importés." bcf_file_not_found: "Impossible de localiser le fichier BCF. Veuillez recommencer le processus de téléversement." export: diff --git a/modules/budgets/config/locales/crowdin/cs.yml b/modules/budgets/config/locales/crowdin/cs.yml index 72dd2ee8925f..231267126ec3 100644 --- a/modules/budgets/config/locales/crowdin/cs.yml +++ b/modules/budgets/config/locales/crowdin/cs.yml @@ -27,7 +27,7 @@ cs: budget: author: "Autor" available: "Dostupné" - budget: "Plánované" + budget: "Rozpočet" budget_ratio: "Stráveno (poměr)" description: "Popis" spent: "Strávený čas" diff --git a/modules/job_status/config/locales/crowdin/fr.yml b/modules/job_status/config/locales/crowdin/fr.yml index f08ef07ded87..0c756fd92d6c 100644 --- a/modules/job_status/config/locales/crowdin/fr.yml +++ b/modules/job_status/config/locales/crowdin/fr.yml @@ -4,18 +4,18 @@ fr: name: "Statut de tâches OpenProject" description: "Liste et état des tâches d'arrière-plan." job_status_dialog: - download_starts: 'The download should start automatically.' - link_to_download: 'Or, %{link} to download.' - click_here: 'click here' - title: 'Background job status' - redirect: 'You are being redirected.' - redirect_link: 'Please click here to continue.' - redirect_errors: 'Due to these errors, you will not be redirected automatically.' - errors: 'Something went wrong' + download_starts: 'Le téléchargement devrait démarrer automatiquement.' + link_to_download: 'Ou %{link} pour télécharger.' + click_here: 'cliquez ici' + title: 'Statut de la tâche en arrière-plan' + redirect: 'Vous allez être redirigé.' + redirect_link: 'Veuillez cliquer ici pour continuer.' + redirect_errors: 'En raison de ces erreurs, vous ne serez pas redirigé automatiquement.' + errors: 'Un problème est survenu' generic_messages: - not_found: 'This job could not be found.' - in_queue: 'The job has been queued and will be processed shortly.' - in_process: 'The job is currently being processed.' - error: 'The job has failed to complete.' - cancelled: 'The job has been cancelled due to an error.' - success: 'The job completed successfully.' + not_found: 'Impossible de trouver cette tâche.' + in_queue: 'La tâche a été mise en file d''attente et sera traitée sous peu.' + in_process: 'La tâche est en cours de traitement.' + error: 'La tâche n''a pas été terminée.' + cancelled: 'La tâche a été annulée en raison d''une erreur.' + success: 'Le travail a été effectué avec succès.' diff --git a/modules/job_status/config/locales/crowdin/pt-BR.yml b/modules/job_status/config/locales/crowdin/pt-BR.yml index b25252d34725..d71598f27261 100644 --- a/modules/job_status/config/locales/crowdin/pt-BR.yml +++ b/modules/job_status/config/locales/crowdin/pt-BR.yml @@ -4,18 +4,18 @@ pt-BR: name: "Situação do trabalho OpenProject" description: "Listagem e situação dos trabalhos em segundo plano." job_status_dialog: - download_starts: 'The download should start automatically.' - link_to_download: 'Or, %{link} to download.' - click_here: 'click here' - title: 'Background job status' - redirect: 'You are being redirected.' - redirect_link: 'Please click here to continue.' - redirect_errors: 'Due to these errors, you will not be redirected automatically.' - errors: 'Something went wrong' + download_starts: 'O download deve iniciar automaticamente.' + link_to_download: 'Ou, %{link} para baixar.' + click_here: 'clique aqui' + title: 'Status do trabalho em segundo plano' + redirect: 'Você está sendo redirecionado.' + redirect_link: 'Por favor, clique aqui para continuar.' + redirect_errors: 'Devido a esses erros, você não será redirecionado automaticamente.' + errors: 'Algo deu errado' generic_messages: - not_found: 'This job could not be found.' - in_queue: 'The job has been queued and will be processed shortly.' - in_process: 'The job is currently being processed.' - error: 'The job has failed to complete.' - cancelled: 'The job has been cancelled due to an error.' - success: 'The job completed successfully.' + not_found: 'Este trabalho não pôde ser encontrado.' + in_queue: 'O trabalho foi colocado na fila e será processado em breve.' + in_process: 'O trabalho está sendo processado.' + error: 'O trabalho não pôde ser finalizado.' + cancelled: 'O trabalho foi cancelado devido a um erro.' + success: 'Trabalho concluído com sucesso.' diff --git a/modules/ldap_groups/config/locales/crowdin/zh-CN.yml b/modules/ldap_groups/config/locales/crowdin/zh-CN.yml index d551c0a9e91e..4d0259eed6ce 100644 --- a/modules/ldap_groups/config/locales/crowdin/zh-CN.yml +++ b/modules/ldap_groups/config/locales/crowdin/zh-CN.yml @@ -1,7 +1,7 @@ zh-CN: plugin_openproject_ldap_groups: name: "OpenProject LDAP 组" - description: "LDAP组成员同步。" + description: "LDAP 组成员同步。" activerecord: attributes: ldap_groups/synchronized_group: diff --git a/modules/ldap_groups/config/locales/crowdin/zh-TW.yml b/modules/ldap_groups/config/locales/crowdin/zh-TW.yml index d7227e6063ba..9f9da07a50a7 100644 --- a/modules/ldap_groups/config/locales/crowdin/zh-TW.yml +++ b/modules/ldap_groups/config/locales/crowdin/zh-TW.yml @@ -9,7 +9,7 @@ zh-TW: ldap_auth_source: 'LDAP 連線' sync_users: '同步使用者' ldap_groups/synchronized_filter: - filter_string: 'LDAP篩選條件' + filter_string: '簡約登入目錄制約(LDAP)篩選' ldap_auth_source: 'LDAP 連線' group_name_attribute: "群組名字屬性" sync_users: '同步使用者' diff --git a/modules/meeting/config/locales/crowdin/cs.yml b/modules/meeting/config/locales/crowdin/cs.yml index f3d5a55737bb..4c5affff2da4 100644 --- a/modules/meeting/config/locales/crowdin/cs.yml +++ b/modules/meeting/config/locales/crowdin/cs.yml @@ -139,7 +139,7 @@ cs: types: classic: "Klasické" classic_text: "Uspořádat schůzku do formátů textového programu a protokolu." - structured: "Dynamický" + structured: "Dynamická" structured_text: "Uspořádat schůzku jako seznam bodů pořadu jednání, případně je propojit s pracovním balíčkem." structured_text_copy: "Kopírování schůzky v současné době nezkopíruje související body pořadu jednání, jen podrobnosti" copied: "Zkopírováno ze schůzky #%{id}" @@ -153,7 +153,7 @@ cs: notice_meeting_updated: "This page has been updated by someone else. Reload to view changes." permission_create_meetings: "Vytvořit schůzku\n" permission_edit_meetings: "Upravit schůzku" - permission_delete_meetings: "Odstranit schůzky" + permission_delete_meetings: "Smazat schůzku" permission_view_meetings: "Zobrazit schůzky" permission_create_meeting_agendas: "Vytvořit agendy schůzek" permission_create_meeting_agendas_explanation: "Umožňuje upravovat obsah programu klasické schůzky." diff --git a/modules/meeting/config/locales/crowdin/fr.yml b/modules/meeting/config/locales/crowdin/fr.yml index 4717f449718f..0695f46e26f1 100644 --- a/modules/meeting/config/locales/crowdin/fr.yml +++ b/modules/meeting/config/locales/crowdin/fr.yml @@ -123,7 +123,7 @@ fr: email: send_emails: "Envoyer des e-mails" send_invitation_emails: > - Send an email invitation immediately to the participants selected above. You can also do this manually at any time later. + Envoyez immédiatement une invitation par e-mail aux participants sélectionnés ci-dessus. Vous pouvez également le faire manuellement à tout moment par la suite. open_meeting_link: "Ouvrir la réunion" invited: summary: "%{actor} vous a envoyé une invitation pour la réunion %{title}" @@ -148,7 +148,7 @@ fr: empty_text: "Faites glisser des éléments ici ou créez-en un nouveau" notice_successful_notification: "Notification envoyée avec succès" notice_timezone_missing: Aucun fuseau horaire n'est défini et %{zone} est supposé. Pour choisir votre fuseau horaire, veuillez cliquer ici. - notice_meeting_updated: "This page has been updated by someone else. Reload to view changes." + notice_meeting_updated: "Cette page a été mise à jour par quelqu'un d'autre. Rechargez pour voir les changements." permission_create_meetings: "Créer des réunions" permission_edit_meetings: "Modifier les réunions" permission_delete_meetings: "Supprimer des réunions" @@ -180,7 +180,7 @@ fr: label_meeting_delete: "Supprimer la réunion" label_meeting_created_by: "Créé par" label_meeting_last_updated: "Dernière mise à jour" - label_meeting_reload: "Reload" + label_meeting_reload: "Actualiser" label_agenda_items: "Points de l'ordre du jour" label_agenda_items_reordered: "réorganisé" label_agenda_item_remove: "Supprimer de l'ordre du jour" diff --git a/modules/meeting/config/locales/crowdin/js-pt-BR.yml b/modules/meeting/config/locales/crowdin/js-pt-BR.yml index de1593cfc11c..5e68df5c7f6b 100644 --- a/modules/meeting/config/locales/crowdin/js-pt-BR.yml +++ b/modules/meeting/config/locales/crowdin/js-pt-BR.yml @@ -24,4 +24,4 @@ pt-BR: label_meetings: 'Reuniões' work_packages: tabs: - meetings: 'Meetings' + meetings: 'Reuniões' diff --git a/modules/meeting/config/locales/crowdin/pt-BR.yml b/modules/meeting/config/locales/crowdin/pt-BR.yml index 427360f16ae1..f8261883a6d8 100644 --- a/modules/meeting/config/locales/crowdin/pt-BR.yml +++ b/modules/meeting/config/locales/crowdin/pt-BR.yml @@ -123,7 +123,7 @@ pt-BR: email: send_emails: "Enviar e-mails" send_invitation_emails: > - Send an email invitation immediately to the participants selected above. You can also do this manually at any time later. + Enviar um convite por e-mail imediatamente para os participantes selecionados acima. Você também pode fazer isso manualmente a qualquer momento mais tarde. open_meeting_link: "Abrir reunião" invited: summary: "%{actor} enviou a você um convite para a reunião %{title}" @@ -148,7 +148,7 @@ pt-BR: empty_text: "Arraste itens para cá ou crie um novo." notice_successful_notification: "Notificação enviada com sucesso" notice_timezone_missing: Nenhum fuso horário está definido, portanto assumiu-se %{zone}. Para escolher o seu fuso horário, clique aqui. - notice_meeting_updated: "This page has been updated by someone else. Reload to view changes." + notice_meeting_updated: "Esta página foi atualizada por outra pessoa. Recarregue para ver as alterações." permission_create_meetings: "Criar reuniões" permission_edit_meetings: "Editar reuniões" permission_delete_meetings: "Excluir reuniões" @@ -180,7 +180,7 @@ pt-BR: label_meeting_delete: "Excluir reunião" label_meeting_created_by: "Criado por" label_meeting_last_updated: "Última atualização" - label_meeting_reload: "Reload" + label_meeting_reload: "Recarregar" label_agenda_items: "Itens da agenda" label_agenda_items_reordered: "reorganizado" label_agenda_item_remove: "Remover da agenda" diff --git a/modules/meeting/config/locales/crowdin/zh-TW.yml b/modules/meeting/config/locales/crowdin/zh-TW.yml index 96ddbd052990..b2d17c875bb5 100644 --- a/modules/meeting/config/locales/crowdin/zh-TW.yml +++ b/modules/meeting/config/locales/crowdin/zh-TW.yml @@ -156,7 +156,7 @@ zh-TW: permission_create_meeting_agendas_explanation: "允許編輯傳統會議的議程。" permission_manage_agendas: "管理議程" permission_manage_agendas_explanation: "允許編輯動態會議的議程項目。" - permission_close_meeting_agendas: "結束會議大綱" + permission_close_meeting_agendas: "定案會議大綱" permission_send_meeting_agendas_notification: "傳送會議大綱審閱通知" permission_create_meeting_minutes: "管理會議記錄" permission_send_meeting_minutes_notification: "傳送會議記錄審閱通知" diff --git a/modules/recaptcha/config/locales/crowdin/pt-BR.yml b/modules/recaptcha/config/locales/crowdin/pt-BR.yml index a112034e88e9..964395fcc92b 100644 --- a/modules/recaptcha/config/locales/crowdin/pt-BR.yml +++ b/modules/recaptcha/config/locales/crowdin/pt-BR.yml @@ -9,7 +9,7 @@ pt-BR: verify_account: "Verifique a sua conta" error_captcha: "Não foi possível verificar sua conta. Por favor, entre em contato com um administrador." settings: - website_key: 'Website key (May also be called "Site key")' + website_key: 'Chave do site (também pode ser chamada "Código do site")' response_limit: 'Limite de resposta para HCaptcha' response_limit_text: 'O número máximo de caracteres para tratar a resposta HCaptcha como válida.' website_key_text: 'Digite a chave do site que você criou no console de administração reCAPTCHA para este domínio.' diff --git a/modules/reporting/config/locales/crowdin/ro.yml b/modules/reporting/config/locales/crowdin/ro.yml index f7cd91798e51..5ef2b8b85bf6 100644 --- a/modules/reporting/config/locales/crowdin/ro.yml +++ b/modules/reporting/config/locales/crowdin/ro.yml @@ -68,7 +68,7 @@ ro: label_filter: "Filtrare" label_filter_add: "Adăugare filtru" label_filter_plural: "Filtre" - label_group_by: "Grupează după" + label_group_by: "Grupare după" label_group_by_add: "Adăugați atributul Group-by" label_inactive: "Inactiv" label_no: "Nu" diff --git a/modules/reporting/config/locales/crowdin/zh-TW.yml b/modules/reporting/config/locales/crowdin/zh-TW.yml index 62f33a5bd15d..61c3f7c6d1c7 100644 --- a/modules/reporting/config/locales/crowdin/zh-TW.yml +++ b/modules/reporting/config/locales/crowdin/zh-TW.yml @@ -51,7 +51,7 @@ zh-TW: label_money: "現金價值" label_month_reporting: "月" label_new_report: "新建成本報表" - label_open: "開啟" + label_open: "進行中" label_operator: "操作員" label_private_report_plural: "私密成本報告" label_progress_bar_explanation: "產生報告中..." @@ -68,7 +68,7 @@ zh-TW: label_filter: "篩選條件" label_filter_add: "新增篩選條件" label_filter_plural: "篩選條件" - label_group_by: "分類" + label_group_by: "分組依據" label_group_by_add: "新增分組依據屬性" label_inactive: "«不活動»" label_no: "否" diff --git a/modules/storages/config/locales/crowdin/fr.yml b/modules/storages/config/locales/crowdin/fr.yml index 4d7ed8199dce..2f2944a9654e 100644 --- a/modules/storages/config/locales/crowdin/fr.yml +++ b/modules/storages/config/locales/crowdin/fr.yml @@ -31,7 +31,7 @@ fr: attributes: host: authorization_header_missing: n'est pas entièrement configuré. L'instance Nextcloud ne reçoit pas l'en-tête "Authorization", ce qui est nécessaire pour une autorisation basée sur un jeton Bearer des requêtes API. Veuillez vérifier la configuration de votre serveur HTTP. - cannot_be_connected_to: could not be reached. Please ensure the host is reachable and the OpenProject integration app is installed. + cannot_be_connected_to: n'a pas pu être atteint. Veuillez vous assurer que l'hôte est joignable et que l'application d'intégration OpenProject est installée. minimal_nextcloud_version_unmet: ne répond pas aux exigences minimales de version (doit être Nextcloud 23 ou supérieur) not_nextcloud_server: n'est pas un serveur Nextcloud op_application_not_installed: semble ne pas avoir installé l'application "Intégration OpenProject" . Veuillez d'abord l'installer puis réessayer. diff --git a/modules/storages/config/locales/crowdin/pt-BR.yml b/modules/storages/config/locales/crowdin/pt-BR.yml index 4f7dde05336e..b93f83e6f655 100644 --- a/modules/storages/config/locales/crowdin/pt-BR.yml +++ b/modules/storages/config/locales/crowdin/pt-BR.yml @@ -22,7 +22,7 @@ pt-BR: storages/project_storage: attributes: project_folder_id: - blank: Please select a folder. + blank: Selecione uma pasta. project_folder_mode: mode_unavailable: não está disponível para este armazenamento. project_ids: @@ -31,7 +31,7 @@ pt-BR: attributes: host: authorization_header_missing: se não totalmente configurado. A instância Nextcloud não recebe o cabeçalho "Autorização", que é necessário para um token Bearer com base na autorização de solicitações de API. Verifique novamente suas configurações de servidor HTTP. - cannot_be_connected_to: could not be reached. Please ensure the host is reachable and the OpenProject integration app is installed. + cannot_be_connected_to: não pôde ser acessado. Verifique se o host pode ser acessado e se o aplicativo de integração do OpenProject está instalado. minimal_nextcloud_version_unmet: não atende aos requisitos mínimos de versão (deve ser Nextcloud 23 ou superior) not_nextcloud_server: não é um servidor Nextcloud op_application_not_installed: Parece não possui o aplicativo "OpenProject integration" instalado. Instale-o primeiro e depois tente novamente. @@ -60,13 +60,13 @@ pt-BR: project_module_storages: Arquivos project_storages: edit_project_folder: - label: Edit project folder + label: Editar a pasta do projeto project_folder_mode: automatic: Gerenciado automaticamente inactive: Nenhuma pasta específica manual: Pasta existente gerenciada manualmente remove_project: - deletion_failure_flash: Failed to remove the project from the storage. %{error} + deletion_failure_flash: Falha ao remover o projeto do armazenamento. %{error} dialog: automatically_managed_appendix: Além disso, neste caso, este armazenamento tenha uma pasta de projeto gerenciado automaticamente, este e seus arquivos serão excluídos para sempre. confirmation_text: Confirme se você entende e deseja remover este armazenamento de arquivos do projeto @@ -317,23 +317,23 @@ pt-BR: notice_successful_storage_connection: |- Armazenamento conectado com sucesso! Lembre-se de ativar o módulo e o armazenamento específico nas configurações do projeto de cada projeto desejado para utilizá-lo. oauth_access_granted_modal: - access_granted: Access granted + access_granted: Acesso concedido project_settings: - access_granted_screen_reader: Access granted. You are now ready to use %{storage} - storage_ready: You are now ready to use %{storage} + access_granted_screen_reader: Acesso concedido. Você está pronto para usar %{storage} + storage_ready: Agora você está pronto para usar %{storage} storage_admin: - access_granted_screen_reader: Access granted. You are now ready to add projects to %{storage} - storage_ready: You are now ready to add projects to %{storage} + access_granted_screen_reader: Acesso concedido. Agora você está pronto para adicionar projetos ao %{storage} + storage_ready: Agora você está pronto para adicionar projetos ao %{storage} oauth_grant_nudge_modal: cancel_button_label: Cuidarei disso mais tarde - heading: Login to %{provider_type} required - login_button_aria_label: Login to %{storage} - login_button_label: "%{provider_type} log in" + heading: Login para %{provider_type} necessário + login_button_aria_label: Faça login em %{storage} + login_button_label: "Login %{provider_type}" project_settings: - description: To get access to the project folder you need to login to %{storage}. + description: Para ter acesso à pasta do projeto, você precisa entrar no %{storage}. requesting_access_to: Solicitação de acesso ao site %{storage} storage_admin: - description: In order to add projects to this storage you need to be logged into %{provider_type}. Please, log in and try again. + description: Para adicionar projetos a esse armazenamento, o senhor precisa estar conectado em %{provider_type}. Por favor, faça o login e tente novamente. open_project_storage_modal: success: subtitle: Você está sendo redirecionado diff --git a/modules/team_planner/config/locales/crowdin/js-fr.yml b/modules/team_planner/config/locales/crowdin/js-fr.yml index 658122291596..67a93cb353c0 100644 --- a/modules/team_planner/config/locales/crowdin/js-fr.yml +++ b/modules/team_planner/config/locales/crowdin/js-fr.yml @@ -18,7 +18,7 @@ fr: today: 'Aujourd''hui' drag_here_to_remove: 'Faites glisser ici pour supprimer le responsable et les dates de début et de fin.' cannot_drag_here: 'Impossible de supprimer le lot de travaux en raison des autorisations ou des restrictions d''édition.' - cannot_drag_to_non_working_day: 'Ce lot de travaux ne peut pas démarrer/terminer sur un jour non ouvré.' + cannot_drag_to_non_working_day: 'Ce lot de travail ne peut pas démarrer/terminer sur un jour non ouvré.' quick_add: empty_state: 'Utilisez le champ de recherche pour trouver des lots de travaux et faites-les glisser vers le planificateur pour l''assigner à quelqu''un et définir des dates de début et de fin.' search_placeholder: 'Rechercher...' diff --git a/modules/two_factor_authentication/config/locales/crowdin/ro.yml b/modules/two_factor_authentication/config/locales/crowdin/ro.yml index 717e80c0e557..ed1e50f455f2 100644 --- a/modules/two_factor_authentication/config/locales/crowdin/ro.yml +++ b/modules/two_factor_authentication/config/locales/crowdin/ro.yml @@ -174,7 +174,7 @@ ro: label_expiration_hint: "%{date} sau la deconectare" label_actions: "Acțiuni" label_confirmed: "Confirmat" - button_continue: "Continuă" + button_continue: "Continuaţi" button_make_default: "Marcați ca implicit" label_unverified_phone: "Telefonul mobil nu a fost încă verificat" notice_phone_number_format: "Vă rugăm să introduceți numărul în următorul format: +XX XXXXXXXX." diff --git a/modules/two_factor_authentication/config/locales/crowdin/ru.yml b/modules/two_factor_authentication/config/locales/crowdin/ru.yml index 1b98cf398196..c8b20adea521 100644 --- a/modules/two_factor_authentication/config/locales/crowdin/ru.yml +++ b/modules/two_factor_authentication/config/locales/crowdin/ru.yml @@ -174,7 +174,7 @@ ru: label_expiration_hint: "%{date} или при выходе из системы" label_actions: "Действия" label_confirmed: "Подтвержден" - button_continue: "Продолжить" + button_continue: "Далее" button_make_default: "Задать по умолчанию" label_unverified_phone: "Сотовый телефон еще не подтвержден" notice_phone_number_format: "Введите номер в следующем формате: +XX XXXXXXXX." diff --git a/modules/two_factor_authentication/config/locales/crowdin/uk.yml b/modules/two_factor_authentication/config/locales/crowdin/uk.yml index 08d5f4a4cbd9..b66b4ca73912 100644 --- a/modules/two_factor_authentication/config/locales/crowdin/uk.yml +++ b/modules/two_factor_authentication/config/locales/crowdin/uk.yml @@ -115,7 +115,7 @@ uk: failed_to_delete: "Не вдалося видалити пристрій 2FA." is_default_cannot_delete: "Пристрій позначено як типовий і його не можна видалити через активну політику безпеки. Перед видаленням позначте інший пристрій як стандартний." not_existing: "Для вашого облікового запису не зареєстровано жодного пристрою 2FA." - 2fa_from_input: Введіть код, отриманий на пристрій %{device_name}, щоб підтвердити свою особу. + 2fa_from_input: Введіть код, що надійшов на пристрій %{device_name}, щоб підтвердити свою особу. 2fa_from_webauthn: Укажіть пристрій WebAuthn %{device_name}. Якщо це USB-пристрій, переконайтеся, що його підключено, і торкніться його. Потім натисніть кнопку входу. webauthn: title: "WebAuthn" diff --git a/modules/xls_export/config/locales/crowdin/zh-CN.yml b/modules/xls_export/config/locales/crowdin/zh-CN.yml index 59230e603ecf..31c8d3cdd710 100644 --- a/modules/xls_export/config/locales/crowdin/zh-CN.yml +++ b/modules/xls_export/config/locales/crowdin/zh-CN.yml @@ -13,4 +13,4 @@ zh-CN: xls_with_relations: "带关系的 XLS" xls_export: child_of: 此项的子项 - parent_of: 此项的父级 + parent_of: 此项的父项 From a02ecc6a8953f765f7e691f532cc46d858569f01 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Sat, 31 Aug 2024 03:07:42 +0000 Subject: [PATCH 041/147] update locales from crowdin [ci skip] --- config/locales/crowdin/af.yml | 2 +- config/locales/crowdin/ar.yml | 2 +- config/locales/crowdin/az.yml | 2 +- config/locales/crowdin/be.yml | 2 +- config/locales/crowdin/bg.yml | 2 +- config/locales/crowdin/ca.yml | 2 +- config/locales/crowdin/ckb-IR.yml | 2 +- config/locales/crowdin/cs.yml | 2 +- config/locales/crowdin/da.yml | 2 +- config/locales/crowdin/de.yml | 2 +- config/locales/crowdin/el.yml | 2 +- config/locales/crowdin/eo.yml | 2 +- config/locales/crowdin/es.yml | 2 +- config/locales/crowdin/et.yml | 2 +- config/locales/crowdin/eu.yml | 2 +- config/locales/crowdin/fa.yml | 2 +- config/locales/crowdin/fi.yml | 2 +- config/locales/crowdin/fil.yml | 2 +- config/locales/crowdin/fr.yml | 34 +++---- config/locales/crowdin/he.yml | 2 +- config/locales/crowdin/hi.yml | 2 +- config/locales/crowdin/hr.yml | 2 +- config/locales/crowdin/hu.yml | 2 +- config/locales/crowdin/id.yml | 2 +- config/locales/crowdin/it.yml | 2 +- config/locales/crowdin/ja.yml | 2 +- config/locales/crowdin/js-fr.yml | 68 +++++++------- config/locales/crowdin/js-pt-BR.yml | 2 +- config/locales/crowdin/js-zh-CN.yml | 2 +- config/locales/crowdin/ka.yml | 2 +- config/locales/crowdin/kk.yml | 2 +- config/locales/crowdin/ko.yml | 2 +- config/locales/crowdin/lt.yml | 2 +- config/locales/crowdin/lv.yml | 2 +- config/locales/crowdin/mn.yml | 2 +- config/locales/crowdin/ms.yml | 2 +- config/locales/crowdin/ne.yml | 2 +- config/locales/crowdin/nl.yml | 2 +- config/locales/crowdin/no.yml | 2 +- config/locales/crowdin/pl.yml | 2 +- config/locales/crowdin/pt-BR.yml | 92 +++++++++---------- config/locales/crowdin/pt-PT.yml | 2 +- config/locales/crowdin/ro.yml | 2 +- config/locales/crowdin/ru.yml | 2 +- config/locales/crowdin/rw.yml | 2 +- config/locales/crowdin/si.yml | 2 +- config/locales/crowdin/sk.yml | 2 +- config/locales/crowdin/sl.yml | 2 +- config/locales/crowdin/sr.yml | 2 +- config/locales/crowdin/sv.yml | 2 +- config/locales/crowdin/th.yml | 2 +- config/locales/crowdin/tr.yml | 2 +- config/locales/crowdin/uk.yml | 2 +- config/locales/crowdin/uz.yml | 2 +- config/locales/crowdin/vi.yml | 2 +- config/locales/crowdin/zh-CN.yml | 2 +- config/locales/crowdin/zh-TW.yml | 2 +- .../job_status/config/locales/crowdin/fr.yml | 28 +++--- .../config/locales/crowdin/pt-BR.yml | 28 +++--- modules/meeting/config/locales/crowdin/fr.yml | 6 +- .../config/locales/crowdin/js-pt-BR.yml | 2 +- .../meeting/config/locales/crowdin/pt-BR.yml | 6 +- .../config/locales/crowdin/pt-BR.yml | 2 +- .../storages/config/locales/crowdin/fr.yml | 2 +- .../storages/config/locales/crowdin/pt-BR.yml | 28 +++--- 65 files changed, 202 insertions(+), 202 deletions(-) diff --git a/config/locales/crowdin/af.yml b/config/locales/crowdin/af.yml index 2e44ea426ef8..960051ac7207 100644 --- a/config/locales/crowdin/af.yml +++ b/config/locales/crowdin/af.yml @@ -300,7 +300,7 @@ af: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/ar.yml b/config/locales/crowdin/ar.yml index 9494864a26f2..41e039a55d16 100644 --- a/config/locales/crowdin/ar.yml +++ b/config/locales/crowdin/ar.yml @@ -300,7 +300,7 @@ ar: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/az.yml b/config/locales/crowdin/az.yml index 187327f6e154..73f52c51cabd 100644 --- a/config/locales/crowdin/az.yml +++ b/config/locales/crowdin/az.yml @@ -300,7 +300,7 @@ az: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/be.yml b/config/locales/crowdin/be.yml index 3a89b5721d57..1fb22eb2b43f 100644 --- a/config/locales/crowdin/be.yml +++ b/config/locales/crowdin/be.yml @@ -300,7 +300,7 @@ be: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/bg.yml b/config/locales/crowdin/bg.yml index e449214a6517..e65d3e9a9699 100644 --- a/config/locales/crowdin/bg.yml +++ b/config/locales/crowdin/bg.yml @@ -300,7 +300,7 @@ bg: actions: label_enable_single: "Активен в този проект, щракнете за да деактивирате" label_disable_single: "Неактивен в този проект, щракнете, за да разрешите" - deactivate_for_project: "Деактивирайте за този проект" + remove_from_project: "Remove from project" label_enable_all: "Разрешете всички" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/ca.yml b/config/locales/crowdin/ca.yml index 2ca0e9078d98..fd57361b7436 100644 --- a/config/locales/crowdin/ca.yml +++ b/config/locales/crowdin/ca.yml @@ -297,7 +297,7 @@ ca: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/ckb-IR.yml b/config/locales/crowdin/ckb-IR.yml index 312b45ca7129..53c80d593e0f 100644 --- a/config/locales/crowdin/ckb-IR.yml +++ b/config/locales/crowdin/ckb-IR.yml @@ -300,7 +300,7 @@ ckb-IR: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/cs.yml b/config/locales/crowdin/cs.yml index 72f8d5b2bffb..7b88394da0ac 100644 --- a/config/locales/crowdin/cs.yml +++ b/config/locales/crowdin/cs.yml @@ -300,7 +300,7 @@ cs: actions: label_enable_single: "Aktivní v tomto projektu, kliknutím vypnete" label_disable_single: "Neaktivní v tomto projektu, klikněte pro povolení" - deactivate_for_project: "Deaktivovat pro tento projekt" + remove_from_project: "Remove from project" label_enable_all: "Povolit vše" label_disable_all: "Zakázat vše" is_required_blank_slate: diff --git a/config/locales/crowdin/da.yml b/config/locales/crowdin/da.yml index cd069d10f239..9fc044daa437 100644 --- a/config/locales/crowdin/da.yml +++ b/config/locales/crowdin/da.yml @@ -298,7 +298,7 @@ da: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index 65cbe6b291d7..34feba45f2e7 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -297,7 +297,7 @@ de: actions: label_enable_single: "In diesem Projekt aktiv, zum Deaktivieren anklicken" label_disable_single: "In diesem Projekt inaktiv, zum Aktivieren anklicken" - deactivate_for_project: "Für dieses Projekt deaktivieren" + remove_from_project: "Remove from project" label_enable_all: "Alles aktivieren" label_disable_all: "Alles deaktivieren" is_required_blank_slate: diff --git a/config/locales/crowdin/el.yml b/config/locales/crowdin/el.yml index b968ac9a5edc..81b444231089 100644 --- a/config/locales/crowdin/el.yml +++ b/config/locales/crowdin/el.yml @@ -296,7 +296,7 @@ el: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/eo.yml b/config/locales/crowdin/eo.yml index ace0ab3fc8da..8b2542eda0da 100644 --- a/config/locales/crowdin/eo.yml +++ b/config/locales/crowdin/eo.yml @@ -300,7 +300,7 @@ eo: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/es.yml b/config/locales/crowdin/es.yml index d2bec73660ac..0e2522133e10 100644 --- a/config/locales/crowdin/es.yml +++ b/config/locales/crowdin/es.yml @@ -297,7 +297,7 @@ es: actions: label_enable_single: "Activo en este proyecto, pulse para desactivarlo" label_disable_single: "Inactivo en este proyecto, pulse para activarlo" - deactivate_for_project: "Desactivar para este proyecto" + remove_from_project: "Remove from project" label_enable_all: "Activar todo" label_disable_all: "Desactivar todo" is_required_blank_slate: diff --git a/config/locales/crowdin/et.yml b/config/locales/crowdin/et.yml index cc2e4ee8cb00..c39a3fb23a2b 100644 --- a/config/locales/crowdin/et.yml +++ b/config/locales/crowdin/et.yml @@ -300,7 +300,7 @@ et: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/eu.yml b/config/locales/crowdin/eu.yml index 8e562c32eeeb..4344e220c0aa 100644 --- a/config/locales/crowdin/eu.yml +++ b/config/locales/crowdin/eu.yml @@ -300,7 +300,7 @@ eu: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/fa.yml b/config/locales/crowdin/fa.yml index 3d0398f47c35..b0ce1d1b731d 100644 --- a/config/locales/crowdin/fa.yml +++ b/config/locales/crowdin/fa.yml @@ -300,7 +300,7 @@ fa: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "فعال کردن همه" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/fi.yml b/config/locales/crowdin/fi.yml index 391e2249d9da..aa8458539ef2 100644 --- a/config/locales/crowdin/fi.yml +++ b/config/locales/crowdin/fi.yml @@ -300,7 +300,7 @@ fi: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/fil.yml b/config/locales/crowdin/fil.yml index 2365685dafd2..9945377c3cf4 100644 --- a/config/locales/crowdin/fil.yml +++ b/config/locales/crowdin/fil.yml @@ -300,7 +300,7 @@ fil: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/fr.yml b/config/locales/crowdin/fr.yml index 5638c54d1a0d..0e2e8b02e6a5 100644 --- a/config/locales/crowdin/fr.yml +++ b/config/locales/crowdin/fr.yml @@ -265,8 +265,8 @@ fr: no_results_title_text: Aucun projet pour le moment no_results_content_text: Créer un nouveau projet search: - label: Project name filter - placeholder: Search by project name + label: Filtre sur le nom du projet + placeholder: Recherche par nom de projet lists: active: "Projets actifs" my: "Mes projets" @@ -300,7 +300,7 @@ fr: actions: label_enable_single: "Actif dans ce projet, cliquez pour le désactiver" label_disable_single: "Inactif dans ce projet, cliquez pour l'activer" - deactivate_for_project: "Désactiver pour ce projet" + remove_from_project: "Remove from project" label_enable_all: "Activer tout" label_disable_all: "Désactiver tout" is_required_blank_slate: @@ -1039,10 +1039,10 @@ fr: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match Work and Remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" - must_be_set_when_remaining_work_is_set: "required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "ne correspond pas au Travail et au Travail restant" + cannot_be_set_when_work_is_zero: "ne peut pas être défini lorsque le Travail est nul" + must_be_set_when_remaining_work_is_set: "requis lorsque le Travail restant est défini." + must_be_set_when_work_and_remaining_work_are_set: "requis lorsque le Travail et le Travail restant sont définis." inclusion: "doit être compris entre 0 et 100." due_date: not_start_date: "n'est pas identique à la date de début, bien que cela soit requis pour les jalons." @@ -1072,17 +1072,17 @@ fr: does_not_exist: "La catégorie spécifiée n'existe pas." estimated_hours: not_a_number: "n'est pas une durée valide." - cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." + cant_be_inferior_to_remaining_work: "ne peut être inférieur au travail restant." + must_be_set_when_remaining_work_and_percent_complete_are_set: "requis lorsque le Travail et le % Complété sont définis." remaining_hours: not_a_number: "n'est pas une durée valide." - cant_exceed_work: "cannot be higher than Work." - must_be_set_when_work_is_set: "required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + cant_exceed_work: "ne peut être supérieur à Travail." + must_be_set_when_work_is_set: "requis lorsque le Travail est défini." + must_be_set_when_work_and_percent_complete_are_set: "requis lorsque le Travail et le % Complété sont définis." must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- - must be 0h when Work is set and % Complete is 100%. + doit être 0h lorsque le travail est défini et % Complété est de 100 %. must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- - must be empty when Work is empty and % Complete is 100%. + doit être vide lorsque le Travail est vide et le % Complété est de 100 %. readonly_status: "Le lot de travaux est en lecture seule, ses attributs ne peuvent donc pas être changés." type: attributes: @@ -1649,10 +1649,10 @@ fr: subproject: "Sous-projet : %{name}" export: dialog: - title: "Export" - submit: "Export" + title: "Exporter" + submit: "Exporter" format: - label: "File format" + label: "Format de fichier" options: csv: label: "CSV" diff --git a/config/locales/crowdin/he.yml b/config/locales/crowdin/he.yml index 6b5e3234fab1..816531943298 100644 --- a/config/locales/crowdin/he.yml +++ b/config/locales/crowdin/he.yml @@ -300,7 +300,7 @@ he: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/hi.yml b/config/locales/crowdin/hi.yml index ca1cdebb33f3..6b06c0b7c540 100644 --- a/config/locales/crowdin/hi.yml +++ b/config/locales/crowdin/hi.yml @@ -300,7 +300,7 @@ hi: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/hr.yml b/config/locales/crowdin/hr.yml index 81c8c1662d5f..52eda3e7b4c5 100644 --- a/config/locales/crowdin/hr.yml +++ b/config/locales/crowdin/hr.yml @@ -300,7 +300,7 @@ hr: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/hu.yml b/config/locales/crowdin/hu.yml index 375a4168a936..1764ea20a09d 100644 --- a/config/locales/crowdin/hu.yml +++ b/config/locales/crowdin/hu.yml @@ -299,7 +299,7 @@ hu: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/id.yml b/config/locales/crowdin/id.yml index 84eef066d0d7..cfdd76a2af84 100644 --- a/config/locales/crowdin/id.yml +++ b/config/locales/crowdin/id.yml @@ -294,7 +294,7 @@ id: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/it.yml b/config/locales/crowdin/it.yml index bd6e4af4e2d5..eb92e65602ad 100644 --- a/config/locales/crowdin/it.yml +++ b/config/locales/crowdin/it.yml @@ -297,7 +297,7 @@ it: actions: label_enable_single: "Attivo in questo progetto, clicca per disattivarlo" label_disable_single: "Non attivo in questo progetto, clicca per attivarlo" - deactivate_for_project: "Disattiva per questo progetto" + remove_from_project: "Remove from project" label_enable_all: "Abilita tutti" label_disable_all: "Disabilita tutti" is_required_blank_slate: diff --git a/config/locales/crowdin/ja.yml b/config/locales/crowdin/ja.yml index 5f263fc3e1ea..aea0eb092384 100644 --- a/config/locales/crowdin/ja.yml +++ b/config/locales/crowdin/ja.yml @@ -298,7 +298,7 @@ ja: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/js-fr.yml b/config/locales/crowdin/js-fr.yml index 0952189c86a9..3136798a8d77 100644 --- a/config/locales/crowdin/js-fr.yml +++ b/config/locales/crowdin/js-fr.yml @@ -138,8 +138,8 @@ fr: description_select_work_package: "Sélectionner le lot de travaux #%{id}" description_subwork_package: "Enfant du lot de travaux #%{id}" editor: - revisions: "Show local modifications" - no_revisions: "No local modifications found" + revisions: "Afficher les modifications locales" + no_revisions: "Aucune modification locale trouvée" preview: "Basculer en mode aperçu" source_code: "Basculer en mode source Markdown" error_saving_failed: "L'enregistrement du document a échoué en raison de l'erreur suivante : %{error}" @@ -188,15 +188,15 @@ fr: without_type: "Créer un lot de travaux" with_type: "Créer un lot de travaux (Type : %{typename})" embedded_table: - button: "Intégrer le tableau du lot de travaux" - text: "[Placeholder] Tableau du lot de travaux intégré" + button: "Tableau intégré de lots de travaux" + text: "[Placeholder] Tableau intégré de lots de travaux" embedded_calendar: text: "[Placeholder] Calendrier embarqué" admin: type_form: custom_field: "Champ personnalisé" inactive: "Inactif" - drag_to_activate: "Faites glisser les champs ici pour les activer" + drag_to_activate: "Faire glisser les champs ici pour les activer" add_group: "Ajouter un groupe d’attributs" add_table: "Ajouter un tableau des lots de travaux associés" edit_query: "Modifier la requête" @@ -230,7 +230,7 @@ fr: next_steps: "Prochaines étapes" resend_link: "Renvoyer" resend_success: "L'e-mail a été renvoyé. Veuillez vérifier vos e-mails et cliquer sur le lien de confirmation fourni." - resend_warning: "Impossible de renvoyer l'e-mail" + resend_warning: "Impossible de renvoyer l'e-mail." session_timeout: "Votre session a expiré. Veuillez rafraîchir la page ou renvoyer l'e-mail." status_label: "Statut :" status_confirmed: "confirmé" @@ -250,7 +250,7 @@ fr: premium_features: "Add-ons Entreprise" premium_features_text: "Tableaux agiles, thème et logo personnalisés, graphiques, flux de travail intelligents avec actions personnalisées, recherche en plein texte des pièces jointes de lots de travaux et champs personnalisés à choix multiples" professional_support: "Support professionnel" - professional_support_text: "Obtenez une assitance fiable et à haut contact de la part d'ingénieurs d'assistance expérimentés qui ont une connaissance approfondie de la mise en œuvre d'OpenProject dans des environnements critiques pour l'entreprise." + professional_support_text: "Obtenez une assistance fiable et disponible de la part d'ingénieurs d'assistance expérimentés qui ont une connaissance approfondie de la mise en œuvre d'OpenProject dans des environnements critiques pour l'entreprise." button_start_trial: "Commencer l'essai gratuit" button_upgrade: "Mettre à niveau maintenant" button_contact_us: "Contactez-nous pour une démo" @@ -279,9 +279,9 @@ fr: Voulez-vous continuer ? work_packages_settings: warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- - Changing progress calculation mode from status-based to work-based will make % Complete a non-editable field whose value is derived from Work and Remaining work. Existing values for % Complete are preserved. If values for Work and Remaining work were not present, they will be required in order to change % Complete. + Passer du mode de calcul de la progression basé sur le statut au mode basé sur le travail transformera % réalisé en champ non modifiable dont la valeur est dérivée des champs Travail et Travail restant. Les valeurs existantes pour % réalisé sont conservées. Des valeurs pour Travail et Travail restant sont requises pour modifier % réalisé. warning_progress_calculation_mode_change_from_status_to_field_html: >- - Changing progress calculation mode from status-based to work-based will make the % Complete field freely editable. If you optionally enter values for Work or Remaining work, they will also be linked to % Complete. Changing Remaining work can then update % Complete. + Passer du mode de calcul de la progression basé sur le statut au mode basé sur le travail transformera % réalisé en champ librement modifiable. Si vous complétez les champs Travail et Travail restant, ils seront également liés à % réalisé. Changer le champ Travail restant peut alors changer le % réalisé. warning_progress_calculation_mode_change_from_field_to_status_html: >- Passer du mode de calcul de la progression basé sur le travail au mode basé sur le statut entraînera la perte de toutes les valeurs de % réalisé existantes et leur remplacement par les valeurs associées à chaque statut. Les valeurs existantes pour Travail restant peuvent également être recalculées pour refléter ce changement. Cette action est irréversible. custom_actions: @@ -295,13 +295,13 @@ fr: embedded_table_loading: "La vue intégrée n’a pas pu être chargée : %{message}" enumeration_activities: "Activités (suivi de temps)" enumeration_doc_categories: "Catégories de documents" - enumeration_work_package_priorities: "Priorités du Lot de Travaux" + enumeration_work_package_priorities: "Priorités des lots de travaux" filter: more_values_not_shown: "Il y a %{total} résultats supplémentaires, effectuez une recherche pour filtrer les résultats." description: - text_open_filter: "Ouvrir ce filtre avec les touches « ALT » et fléchées." - text_close_filter: "Pour sélectionner une entrée, laissez le focus par exemple en appuyant sur enter. Pour quitter sans filtre, sélectionnez la première entrée (vide)." - noneElement: "(none)" + text_open_filter: "Ouvrir ce filtre avec la touche « ALT » et les touches fléchées." + text_close_filter: "Pour sélectionner une entrée, laissez le focus par exemple en appuyant sur Entrée. Pour quitter sans filtre, sélectionnez la première entrée (vide)." + noneElement: "(aucun)" time_zone_converted: two_values: "%{from} - %{to} dans votre heure locale." only_start: "À partir de %{from} dans votre heure locale." @@ -346,8 +346,8 @@ fr: general_text_Yes: "Oui" hal: error: - update_conflict_refresh: "Cliquez ici pour actualiser la resource et mettre à jour vers la version la plus récente." - edit_prohibited: "L'édition de %{attribute} est bloquée pour cette ressource. Soit cet attribut est dérivé de relations (ex, enfants), soit autrement non configurable." + update_conflict_refresh: "Cliquez ici pour actualiser la ressource et mettre à jour vers la version la plus récente." + edit_prohibited: "La modification de %{attribute} est bloquée pour cette ressource. Soit cet attribut est dérivé de relations (ex. enfants), soit il n'est pas configurable." format: date: "%{attribute} n’est pas une date valide. Format attendu : AAAA-MM-JJ." general: "Une erreur s'est produite." @@ -379,11 +379,11 @@ fr: label_add_column_before: "Ajouter une colonne avant" label_add_columns: "Ajouter des colonnes" label_add_comment: "Ajouter un commentaire" - label_add_comment_title: "Commentez et utilisez @ pour informer d’autres personnes." + label_add_comment_title: "Commentez et utilisez @ pour informer d’autres personnes" label_add_row_after: "Ajouter une ligne après" label_add_row_before: "Ajouter une ligne avant" label_add_selected_columns: "Ajouter les colonnes sélectionnées" - label_added_by: "Ajouté par" + label_added_by: "ajouté par" label_added_time_by: 'Ajouté par %{author} le %{age}' label_ago: "il y a" label_all: "tous" @@ -397,13 +397,13 @@ fr: label_board: "Tableau" label_board_locked: "Verrouillé" label_board_plural: "Tableaux" - label_board_sticky: "Epinglé" + label_board_sticky: "Épinglé" label_change: "Changer" label_create: "Créer" label_create_work_package: "Créer un nouveau lot de travaux" label_created_by: "Créé par" - label_current: "current" - label_date: "date" + label_current: "actuel" + label_date: "Date" label_date_with_format: "Saisissez l'attribut %{date_attribute} en utilisant le format suivant : %{format}" label_deactivate: "Désactiver" label_descending: "Décroissant" @@ -412,20 +412,20 @@ fr: label_display: "Affichage" label_cancel_comment: "Annuler le commentaire" label_closed_work_packages: "clôturé" - label_collapse: "Regrouper" - label_collapsed: "regroupé" + label_collapse: "Replier" + label_collapsed: "replié" label_collapse_all: "Tout replier" label_comment: "Commentaire" label_committed_at: "%{committed_revision_link} le %{date}" label_committed_link: "révision %{revision_identifier} soumise" label_contains: "contenus" label_created_on: "créé le" - label_edit_comment: "Éditer ce commentaire" + label_edit_comment: "Modifier ce commentaire" label_edit_status: "Modifier le statut du lot de travaux" - label_email: "Courriel" + label_email: "Adresse e-mail" label_equals: "est" - label_expand: "développer" - label_expanded: "étendu" + label_expand: "Déplier" + label_expanded: "déplié" label_expand_all: "Tout déplier" label_expand_project_menu: "Déplier le menu du projet" label_export: "Exporter" @@ -519,7 +519,7 @@ fr: label_time_entry_plural: "Temps passé" label_up: "Haut" label_user_plural: "Utilisateurs" - label_activity_show_only_comments: "Afficher les activités avec les commentaires seulement" + label_activity_show_only_comments: "Afficher les activités avec des commentaires uniquement" label_activity_show_all: "Afficher toutes les activités" label_total_progress: "%{percent}% de progression totale" label_total_amount: "Total : %{amount}" @@ -544,21 +544,21 @@ fr: label_global_queries: "Public" label_custom_queries: "Privé" label_columns: "Colonnes" - label_attachments: Fichiers + label_attachments: Pièces jointes label_drop_files: "Déposez des fichiers ici pour joindre des fichiers." label_drop_or_click_files: "Déposez des fichiers ici ou cliquez pour joindre des fichiers." - label_drop_folders_hint: Vous ne pouvez pas télécharger les dossiers en pièce jointe. S’il vous plaît sélectionnez des fichiers seuls. - label_add_attachments: "Joindre fichiers" + label_drop_folders_hint: Vous ne pouvez pas déposer les dossiers en pièces jointes. Veuillez sélectionner des fichiers seuls. + label_add_attachments: "Joindre des fichiers" label_formattable_attachment_hint: "Insérer des fichiers en les glissant sur ce champ, ou en les collant depuis le presse-papiers." label_remove_file: "Supprimer %{fileName}" label_remove_watcher: "Retirer l'observateur %{name}" label_remove_all_files: Supprimer tous les fichiers label_add_description: "Ajouter une description pour %{file}" label_upload_notification: "Chargement des fichiers..." - label_work_package_upload_notification: "Transfert en cours des fichiers pour le lot de travaux #%{id}: %{subject}" + label_work_package_upload_notification: "Transfert en cours des fichiers pour le lot de travaux #%{id} : %{subject}" label_wp_id_added_by: "#%{id} ajouté par %{author}" - label_files_to_upload: "Ces fichiers vont être transférés:" - label_rejected_files: "Ces fichiers ne peuvent pas être transférés:" + label_files_to_upload: "Ces fichiers vont être transférés :" + label_rejected_files: "Ces fichiers ne peuvent pas être transférés :" label_rejected_files_reason: "Ces fichiers ne peuvent pas être transférés car leur taille est supérieure à %{maximumFilesize}" label_wait: "Veuillez patienter pendant la configuration…" label_upload_counter: "%{done} fichiers sur %{count} finis" @@ -1189,7 +1189,7 @@ fr: zero: "0 jour" word: one: "1 word" - other: "%{count} words" + other: "%{count} mots" zen_mode: button_activate: "Activer le mode zen" button_deactivate: "Désactiver le mode zen" diff --git a/config/locales/crowdin/js-pt-BR.yml b/config/locales/crowdin/js-pt-BR.yml index 63cb73415d72..9a2376e4791c 100644 --- a/config/locales/crowdin/js-pt-BR.yml +++ b/config/locales/crowdin/js-pt-BR.yml @@ -360,7 +360,7 @@ pt-BR: "14_4": standard: new_features_html: > - The release contains various new features and improvements, such as:
  • Dark mode option in personal settings
  • Separate permissions for viewing and editing on project attributes
  • Improved status-based progress reporting
  • Connection validation for Nextcloud storages
  • More filter options for project lists
+ A versão contém vários novos recursos e aprimoramentos, como:
  • Opção de modo escuro nas configurações pessoais
  • Permissões separadas para visualização e edição dos atributos do projeto
  • Relatórios de progresso baseados em status aprimorados
  • Validação de conexão para armazenamentos Nextcloud
  • Mais opções de filtro para listas de projetos
ical_sharing_modal: title: "Assinar calendário" inital_setup_error_message: "Ocorreu um erro ao buscar dados." diff --git a/config/locales/crowdin/js-zh-CN.yml b/config/locales/crowdin/js-zh-CN.yml index e70f8b25452e..68289e86ba07 100644 --- a/config/locales/crowdin/js-zh-CN.yml +++ b/config/locales/crowdin/js-zh-CN.yml @@ -1184,7 +1184,7 @@ zh-CN: other: "%{count} 天" zero: "0 天" word: - other: "%{count} words" + other: " %{count} 个单词" zen_mode: button_activate: "激活 zen 模式" button_deactivate: "取消激活 zen 模式" diff --git a/config/locales/crowdin/ka.yml b/config/locales/crowdin/ka.yml index c334143978e9..bc0cb54cb8cd 100644 --- a/config/locales/crowdin/ka.yml +++ b/config/locales/crowdin/ka.yml @@ -300,7 +300,7 @@ ka: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/kk.yml b/config/locales/crowdin/kk.yml index b27671681648..d00fe80e5a1a 100644 --- a/config/locales/crowdin/kk.yml +++ b/config/locales/crowdin/kk.yml @@ -300,7 +300,7 @@ kk: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/ko.yml b/config/locales/crowdin/ko.yml index 82c093b93630..65a77889d775 100644 --- a/config/locales/crowdin/ko.yml +++ b/config/locales/crowdin/ko.yml @@ -300,7 +300,7 @@ ko: actions: label_enable_single: "이 프로젝트에서 활성화되어 있습니다. 비활성화하려면 클릭하세요." label_disable_single: "이 프로젝트에서 비활성화되어 있습니다. 활성화하려면 클릭하세요." - deactivate_for_project: "이 프로젝트에 대해 비활성화" + remove_from_project: "Remove from project" label_enable_all: "모두 활성화" label_disable_all: "모두 비활성화" is_required_blank_slate: diff --git a/config/locales/crowdin/lt.yml b/config/locales/crowdin/lt.yml index 1e69aa7281fb..47141448be5b 100644 --- a/config/locales/crowdin/lt.yml +++ b/config/locales/crowdin/lt.yml @@ -297,7 +297,7 @@ lt: actions: label_enable_single: "Aktyvus šiame projekte, spauskite, jei norite išjungti" label_disable_single: "Neakvyus šiame projekte, spauskite, jei norite įjungti" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Įjungti visus" label_disable_all: "Išjungti visus" is_required_blank_slate: diff --git a/config/locales/crowdin/lv.yml b/config/locales/crowdin/lv.yml index 0d2c068d97db..41a590d8d428 100644 --- a/config/locales/crowdin/lv.yml +++ b/config/locales/crowdin/lv.yml @@ -300,7 +300,7 @@ lv: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/mn.yml b/config/locales/crowdin/mn.yml index 98d5253536c9..b32ed97ce977 100644 --- a/config/locales/crowdin/mn.yml +++ b/config/locales/crowdin/mn.yml @@ -300,7 +300,7 @@ mn: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/ms.yml b/config/locales/crowdin/ms.yml index b7663e3af9cf..c70e3d31d300 100644 --- a/config/locales/crowdin/ms.yml +++ b/config/locales/crowdin/ms.yml @@ -299,7 +299,7 @@ ms: actions: label_enable_single: "Aktif dalam projek ini, klik untuk nyahaktifkan" label_disable_single: "Tidak aktif dalam projek ini, klik untuk aktifkan" - deactivate_for_project: "Nyahaktifkan untuk projek ini" + remove_from_project: "Remove from project" label_enable_all: "Aktifkan semua" label_disable_all: "Nyahaktifkan semua" is_required_blank_slate: diff --git a/config/locales/crowdin/ne.yml b/config/locales/crowdin/ne.yml index c17c821777e2..dadc105d44dc 100644 --- a/config/locales/crowdin/ne.yml +++ b/config/locales/crowdin/ne.yml @@ -300,7 +300,7 @@ ne: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/nl.yml b/config/locales/crowdin/nl.yml index 979bea334719..d58dff55d32b 100644 --- a/config/locales/crowdin/nl.yml +++ b/config/locales/crowdin/nl.yml @@ -297,7 +297,7 @@ nl: actions: label_enable_single: "Actief in dit project, klik om uit te schakelen" label_disable_single: "Inactief in dit project, klik om in te schakelen" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Alles inschakelen" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/no.yml b/config/locales/crowdin/no.yml index 9e5bea29f725..e14bdd00f9b1 100644 --- a/config/locales/crowdin/no.yml +++ b/config/locales/crowdin/no.yml @@ -300,7 +300,7 @@ actions: label_enable_single: "Aktivert i dette prosjektet, klikk for å deaktivere" label_disable_single: "Deaktivert i dette prosjektet, klikk for å aktivere" - deactivate_for_project: "Deaktiver for dette prosjektet" + remove_from_project: "Remove from project" label_enable_all: "Aktiver alle" label_disable_all: "Deaktiver alle" is_required_blank_slate: diff --git a/config/locales/crowdin/pl.yml b/config/locales/crowdin/pl.yml index f8ee29dc4695..981e26ad9222 100644 --- a/config/locales/crowdin/pl.yml +++ b/config/locales/crowdin/pl.yml @@ -297,7 +297,7 @@ pl: actions: label_enable_single: "Aktywne w tym projekcie, kliknij, aby wyłączyć" label_disable_single: "Nieaktywne w tym projekcie, kliknij, aby włączyć" - deactivate_for_project: "Dezaktywuj dla tego projektu" + remove_from_project: "Remove from project" label_enable_all: "Włącz wszystkie" label_disable_all: "Wyłącz wszystkie" is_required_blank_slate: diff --git a/config/locales/crowdin/pt-BR.yml b/config/locales/crowdin/pt-BR.yml index c57cc6f876fc..b8b4dd9e4527 100644 --- a/config/locales/crowdin/pt-BR.yml +++ b/config/locales/crowdin/pt-BR.yml @@ -211,12 +211,12 @@ pt-BR: reorder_confirmation: "Aviso: A ordem atual dos valores disponíveis será perdida. Continuar?" instructions: is_required: "Marcar o campo personalizado como obrigatório. Isto tornará obrigatório o preenchimento do campo ao criar novos recursos ou ao atualizar recursos existentes." - is_required_for_project: "Check to enable this attribute and make it required in all projects. It cannot be deactived for individual projects." + is_required_for_project: "Marque para ativar esse atributo e torná-lo obrigatório em todos os projetos. Ele não pode ser desativado para projetos individuais." is_for_all: "Marcar o campo personalizado como disponível em todos os projetos existentes e novos." searchable: "Incluir os valores dos campos ao utilizar a funcionalidade de busca global." - searchable_for_project: "Check to make this attribute available as a filter in project lists." + searchable_for_project: "Marque para tornar esse atributo disponível como um filtro nas listas de projetos." editable: "Permita que o campo seja editável pelos próprios usuários." - admin_only: "Check to make this attribute only visible to administrators. Users without admin rights will not be able to view or edit it." + admin_only: "Marque para tornar esse atributo visível apenas para os administradores. Os usuários sem direitos de administrador não poderão visualizá-lo ou editá-lo." is_filter: > Permita que o campo personalizado seja utilizado num filtro nas visualizações do pacote de trabalho. Note que apenas com a opção "Para todos os projetos" selecionada, o campo personalizado irá aparecer nas visualizações globais. tab: @@ -264,8 +264,8 @@ pt-BR: no_results_title_text: Atualmente, não existem projetos no_results_content_text: Criar um novo projeto search: - label: Project name filter - placeholder: Search by project name + label: Filtro de nome de projeto + placeholder: Pesquisar por nome de projeto lists: active: "Projetos ativos" my: "Meus projetos" @@ -299,7 +299,7 @@ pt-BR: actions: label_enable_single: "Ativo neste projeto, clique para desativar" label_disable_single: "Inativo neste projeto, clique para ativar" - deactivate_for_project: "Desativar para este projeto" + remove_from_project: "Remove from project" label_enable_all: "Ativar tudo" label_disable_all: "Desativar tudo" is_required_blank_slate: @@ -391,8 +391,8 @@ pt-BR: my: access_token: create_dialog: - header: The %{type} token has been generated - warning: Note that this is the only time you will see this token, make sure to copy it now. + header: O token %{type} foi gerado + warning: Note que esta é a única vez que você verá esse token, certifique-se de copiá-lo agora. errors: token_name_blank: "Forneça um nome para o token de API." token_name_in_use: "Este nome de token de API já está em uso, escolha outro." @@ -622,7 +622,7 @@ pt-BR: possible_values: "Valores possíveis" regexp: "Expressão regular" searchable: "Pesquisável" - admin_only: "Admin-only" + admin_only: "Somente administrador" custom_value: value: "Valor" doorkeeper/application: @@ -692,7 +692,7 @@ pt-BR: versions: "Versões" work_packages: "Pacotes de Trabalho" project_custom_field: - is_required: "Required for all projects" + is_required: "Obrigatório para todos os projetos" custom_field_section: Seção query: column_names: "Colunas" @@ -1038,10 +1038,10 @@ pt-BR: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match Work and Remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" - must_be_set_when_remaining_work_is_set: "required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "não corresponde ao trabalho e ao trabalho restante" + cannot_be_set_when_work_is_zero: "não pode ser definido quando o trabalho é 0h" + must_be_set_when_remaining_work_is_set: "necessário quando o Trabalho restante for definido." + must_be_set_when_work_and_remaining_work_are_set: "necessário quando o Trabalho e o Trabalho restante são definidos." inclusion: "deve estar entre 0 e 100." due_date: not_start_date: "não é na data de início, embora isso seja necessário para os marcos." @@ -1071,17 +1071,17 @@ pt-BR: does_not_exist: "Categoria especificada não existe." estimated_hours: not_a_number: "não é uma duração válida." - cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." - must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." + cant_be_inferior_to_remaining_work: "não pode ser menor do que o Trabalho restante." + must_be_set_when_remaining_work_and_percent_complete_are_set: "necessário quando o Trabalho restante e o % concluído são definidos." remaining_hours: not_a_number: "não é uma duração válida." - cant_exceed_work: "cannot be higher than Work." - must_be_set_when_work_is_set: "required when Work is set." - must_be_set_when_work_and_percent_complete_are_set: "required when Work and % Complete are set." + cant_exceed_work: "não pode ser maior que o Trabalho." + must_be_set_when_work_is_set: "necessário quando o Trabalho for definido." + must_be_set_when_work_and_percent_complete_are_set: "necessário quando Trabalho e % concluído são definidos." must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- - must be 0h when Work is set and % Complete is 100%. + deve ser 0h quando o trabalho é definido e % concluído é de 100%. must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- - must be empty when Work is empty and % Complete is 100%. + deve estar vazio quando Trabalho estiver vazio e %completo for 100%. readonly_status: "O pacote de trabalho está em estado somente leitura, então seus atributos não podem ser alterados." type: attributes: @@ -1165,8 +1165,8 @@ pt-BR: other: "Papéis" status: "Situação do pacote de trabalho" token/api: - one: Access token - other: Access tokens + one: Token de acesso + other: Tokens de acesso type: "Tipo" user: "Usuário" version: "Versão" @@ -1648,10 +1648,10 @@ pt-BR: subproject: "Subprojeto: %{name}" export: dialog: - title: "Export" - submit: "Export" + title: "Exportar" + submit: "Exportar" format: - label: "File format" + label: "Formato do arquivo" options: csv: label: "CSV" @@ -1660,37 +1660,37 @@ pt-BR: xls: label: "XLS" columns: - input_label_report: "Add columns to attribute table" - input_caption_report: "By default all attributes added as columns in the work package list are selected. Long text fields are not available in the attribute table, but can be displayed below it." - input_caption_table: "By default all attributes added as columns in the work package list are selected. Long text fields are not available in table based exports." + input_label_report: "Adicionar colunas à tabela de atributos" + input_caption_report: "Por padrão, todos os atributos adicionados como colunas na lista de pacotes de trabalho são selecionados. Os campos de texto longo não estão disponíveis na tabela de atributos, mas podem ser exibidos abaixo dela." + input_caption_table: "Por padrão, todos os atributos adicionados como colunas na lista de pacotes de trabalho são selecionados. Os campos de texto longo não estão disponíveis na tabela de atributos, mas podem ser exibidos abaixo dela." pdf: export_type: - label: "PDF export type" + label: "Formato de exportação de PDF" options: table: - label: "Table" - caption: "Export the work packages list in a table with the desired columns." + label: "Tabela" + caption: "Exporte a lista de pacotes de trabalho em uma tabela com as colunas desejadas." report: - label: "Report" - caption: "Export the work package on a detailed report of all work packages in the list." + label: "Relatório" + caption: "Exportar o pacote de trabalho em um relatório detalhado de todos os pacotes de trabalho da lista." gantt: - label: "Gantt chart" - caption: "Export the work packages list in a Gantt diagram view." + label: "Gráfico de Gantt" + caption: "Exportar a lista de pacotes de trabalho em uma visualização de diagrama de Gantt." include_images: - label: "Include images" - caption: "Exclude images to reduce the size of the PDF export." + label: "Incluir imagens" + caption: "Excluir imagens para reduzir o tamanho da exportação do PDF." gantt_zoom_levels: - label: "Zoom levels" - caption: "Select what is the zoom level for dates displayed in the chart." + label: "Níveis de ampliação" + caption: "Selecione qual é o nível de ampliação para as datas exibidas no gráfico." options: - days: "Days" - weeks: "Weeks" - months: "Months" - quarters: "Quarters" + days: "Dias" + weeks: "Semanas" + months: "Meses" + quarters: "Trimestres" column_width: - label: "Table column width" + label: "Largura da coluna da tabela" options: - narrow: "Narrow" + narrow: "Estreito" medium: "Medium" wide: "Wide" very_wide: "Very wide" diff --git a/config/locales/crowdin/pt-PT.yml b/config/locales/crowdin/pt-PT.yml index a1ae4eb0b417..1ebf94d6deeb 100644 --- a/config/locales/crowdin/pt-PT.yml +++ b/config/locales/crowdin/pt-PT.yml @@ -298,7 +298,7 @@ pt-PT: actions: label_enable_single: "Ativo neste projeto, clique para desativar" label_disable_single: "Inativo neste projeto, clique para ativar" - deactivate_for_project: "Desativar para este projeto" + remove_from_project: "Remove from project" label_enable_all: "Ativar tudo" label_disable_all: "Desativar tudo" is_required_blank_slate: diff --git a/config/locales/crowdin/ro.yml b/config/locales/crowdin/ro.yml index 18f916b57fff..093f1b88e5ca 100644 --- a/config/locales/crowdin/ro.yml +++ b/config/locales/crowdin/ro.yml @@ -300,7 +300,7 @@ ro: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index fd91cdb07b34..b98aa845b3b6 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -299,7 +299,7 @@ ru: actions: label_enable_single: "Активно в этом проекте, нажмите для отключения" label_disable_single: "Неактивно в этом проекте, нажмите для включения" - deactivate_for_project: "Деактивировать для этого проекта" + remove_from_project: "Remove from project" label_enable_all: "Включить всё" label_disable_all: "Выключить всё" is_required_blank_slate: diff --git a/config/locales/crowdin/rw.yml b/config/locales/crowdin/rw.yml index e83722c5ac42..4940ddcdf55f 100644 --- a/config/locales/crowdin/rw.yml +++ b/config/locales/crowdin/rw.yml @@ -300,7 +300,7 @@ rw: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/si.yml b/config/locales/crowdin/si.yml index d8e84bb796b8..3cc13360e145 100644 --- a/config/locales/crowdin/si.yml +++ b/config/locales/crowdin/si.yml @@ -300,7 +300,7 @@ si: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/sk.yml b/config/locales/crowdin/sk.yml index d94f2648ffbc..67f19c79eca3 100644 --- a/config/locales/crowdin/sk.yml +++ b/config/locales/crowdin/sk.yml @@ -300,7 +300,7 @@ sk: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/sl.yml b/config/locales/crowdin/sl.yml index 00fed2c09ece..6adf4d7a93d6 100644 --- a/config/locales/crowdin/sl.yml +++ b/config/locales/crowdin/sl.yml @@ -299,7 +299,7 @@ sl: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/sr.yml b/config/locales/crowdin/sr.yml index a4136d290e31..d3cebb2ccda4 100644 --- a/config/locales/crowdin/sr.yml +++ b/config/locales/crowdin/sr.yml @@ -300,7 +300,7 @@ sr: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/sv.yml b/config/locales/crowdin/sv.yml index e0f687d32b91..b920f1565d27 100644 --- a/config/locales/crowdin/sv.yml +++ b/config/locales/crowdin/sv.yml @@ -300,7 +300,7 @@ sv: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/th.yml b/config/locales/crowdin/th.yml index 4cf3f4ec7fad..321845f83da2 100644 --- a/config/locales/crowdin/th.yml +++ b/config/locales/crowdin/th.yml @@ -300,7 +300,7 @@ th: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/tr.yml b/config/locales/crowdin/tr.yml index 68269daef45a..ba9a68e738fb 100644 --- a/config/locales/crowdin/tr.yml +++ b/config/locales/crowdin/tr.yml @@ -300,7 +300,7 @@ tr: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/uk.yml b/config/locales/crowdin/uk.yml index 1624d8dc48db..3c6c24fa51d8 100644 --- a/config/locales/crowdin/uk.yml +++ b/config/locales/crowdin/uk.yml @@ -295,7 +295,7 @@ uk: actions: label_enable_single: "Увімкнено в цьому проєкті; натисніть, щоб вимкнути" label_disable_single: "Вимкнено в цьому проєкті; натисніть, щоб увімкнути" - deactivate_for_project: "Деактивувати для цього проєкту" + remove_from_project: "Remove from project" label_enable_all: "Увімкнути все" label_disable_all: "Вимкнути все" is_required_blank_slate: diff --git a/config/locales/crowdin/uz.yml b/config/locales/crowdin/uz.yml index 021f91e952f8..ca9e7c3f89a3 100644 --- a/config/locales/crowdin/uz.yml +++ b/config/locales/crowdin/uz.yml @@ -300,7 +300,7 @@ uz: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - deactivate_for_project: "Deactivate for this project" + remove_from_project: "Remove from project" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: diff --git a/config/locales/crowdin/vi.yml b/config/locales/crowdin/vi.yml index 88766dcd0ed6..db1663be1d86 100644 --- a/config/locales/crowdin/vi.yml +++ b/config/locales/crowdin/vi.yml @@ -302,7 +302,7 @@ vi: actions: label_enable_single: "Kích hoạt trong dự án này, nhấp để tắt" label_disable_single: "Không kích hoạt trong dự án này, nhấp để bật" - deactivate_for_project: "Vô hiệu hóa cho dự án này" + remove_from_project: "Remove from project" label_enable_all: "Bật tất cả" label_disable_all: "Tắt tất cả" is_required_blank_slate: diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index 396e2ec5554b..7b4e6e1ca084 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -297,7 +297,7 @@ zh-CN: actions: label_enable_single: "在此项目中处于活动状态,点击禁用" label_disable_single: "在此项目中未启用,点击启用" - deactivate_for_project: "停用此项目" + remove_from_project: "Remove from project" label_enable_all: "全部启用" label_disable_all: "全部禁用" is_required_blank_slate: diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index 2a2764865450..580a403d87be 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -299,7 +299,7 @@ zh-TW: actions: label_enable_single: "於此專案使用,請按一下停用" label_disable_single: "於此專案未使用,請按一下啟用" - deactivate_for_project: "停用此專案" + remove_from_project: "Remove from project" label_enable_all: "全部啟用" label_disable_all: "全部停用" is_required_blank_slate: diff --git a/modules/job_status/config/locales/crowdin/fr.yml b/modules/job_status/config/locales/crowdin/fr.yml index f08ef07ded87..0c756fd92d6c 100644 --- a/modules/job_status/config/locales/crowdin/fr.yml +++ b/modules/job_status/config/locales/crowdin/fr.yml @@ -4,18 +4,18 @@ fr: name: "Statut de tâches OpenProject" description: "Liste et état des tâches d'arrière-plan." job_status_dialog: - download_starts: 'The download should start automatically.' - link_to_download: 'Or, %{link} to download.' - click_here: 'click here' - title: 'Background job status' - redirect: 'You are being redirected.' - redirect_link: 'Please click here to continue.' - redirect_errors: 'Due to these errors, you will not be redirected automatically.' - errors: 'Something went wrong' + download_starts: 'Le téléchargement devrait démarrer automatiquement.' + link_to_download: 'Ou %{link} pour télécharger.' + click_here: 'cliquez ici' + title: 'Statut de la tâche en arrière-plan' + redirect: 'Vous allez être redirigé.' + redirect_link: 'Veuillez cliquer ici pour continuer.' + redirect_errors: 'En raison de ces erreurs, vous ne serez pas redirigé automatiquement.' + errors: 'Un problème est survenu' generic_messages: - not_found: 'This job could not be found.' - in_queue: 'The job has been queued and will be processed shortly.' - in_process: 'The job is currently being processed.' - error: 'The job has failed to complete.' - cancelled: 'The job has been cancelled due to an error.' - success: 'The job completed successfully.' + not_found: 'Impossible de trouver cette tâche.' + in_queue: 'La tâche a été mise en file d''attente et sera traitée sous peu.' + in_process: 'La tâche est en cours de traitement.' + error: 'La tâche n''a pas été terminée.' + cancelled: 'La tâche a été annulée en raison d''une erreur.' + success: 'Le travail a été effectué avec succès.' diff --git a/modules/job_status/config/locales/crowdin/pt-BR.yml b/modules/job_status/config/locales/crowdin/pt-BR.yml index b25252d34725..d71598f27261 100644 --- a/modules/job_status/config/locales/crowdin/pt-BR.yml +++ b/modules/job_status/config/locales/crowdin/pt-BR.yml @@ -4,18 +4,18 @@ pt-BR: name: "Situação do trabalho OpenProject" description: "Listagem e situação dos trabalhos em segundo plano." job_status_dialog: - download_starts: 'The download should start automatically.' - link_to_download: 'Or, %{link} to download.' - click_here: 'click here' - title: 'Background job status' - redirect: 'You are being redirected.' - redirect_link: 'Please click here to continue.' - redirect_errors: 'Due to these errors, you will not be redirected automatically.' - errors: 'Something went wrong' + download_starts: 'O download deve iniciar automaticamente.' + link_to_download: 'Ou, %{link} para baixar.' + click_here: 'clique aqui' + title: 'Status do trabalho em segundo plano' + redirect: 'Você está sendo redirecionado.' + redirect_link: 'Por favor, clique aqui para continuar.' + redirect_errors: 'Devido a esses erros, você não será redirecionado automaticamente.' + errors: 'Algo deu errado' generic_messages: - not_found: 'This job could not be found.' - in_queue: 'The job has been queued and will be processed shortly.' - in_process: 'The job is currently being processed.' - error: 'The job has failed to complete.' - cancelled: 'The job has been cancelled due to an error.' - success: 'The job completed successfully.' + not_found: 'Este trabalho não pôde ser encontrado.' + in_queue: 'O trabalho foi colocado na fila e será processado em breve.' + in_process: 'O trabalho está sendo processado.' + error: 'O trabalho não pôde ser finalizado.' + cancelled: 'O trabalho foi cancelado devido a um erro.' + success: 'Trabalho concluído com sucesso.' diff --git a/modules/meeting/config/locales/crowdin/fr.yml b/modules/meeting/config/locales/crowdin/fr.yml index 4717f449718f..0695f46e26f1 100644 --- a/modules/meeting/config/locales/crowdin/fr.yml +++ b/modules/meeting/config/locales/crowdin/fr.yml @@ -123,7 +123,7 @@ fr: email: send_emails: "Envoyer des e-mails" send_invitation_emails: > - Send an email invitation immediately to the participants selected above. You can also do this manually at any time later. + Envoyez immédiatement une invitation par e-mail aux participants sélectionnés ci-dessus. Vous pouvez également le faire manuellement à tout moment par la suite. open_meeting_link: "Ouvrir la réunion" invited: summary: "%{actor} vous a envoyé une invitation pour la réunion %{title}" @@ -148,7 +148,7 @@ fr: empty_text: "Faites glisser des éléments ici ou créez-en un nouveau" notice_successful_notification: "Notification envoyée avec succès" notice_timezone_missing: Aucun fuseau horaire n'est défini et %{zone} est supposé. Pour choisir votre fuseau horaire, veuillez cliquer ici. - notice_meeting_updated: "This page has been updated by someone else. Reload to view changes." + notice_meeting_updated: "Cette page a été mise à jour par quelqu'un d'autre. Rechargez pour voir les changements." permission_create_meetings: "Créer des réunions" permission_edit_meetings: "Modifier les réunions" permission_delete_meetings: "Supprimer des réunions" @@ -180,7 +180,7 @@ fr: label_meeting_delete: "Supprimer la réunion" label_meeting_created_by: "Créé par" label_meeting_last_updated: "Dernière mise à jour" - label_meeting_reload: "Reload" + label_meeting_reload: "Actualiser" label_agenda_items: "Points de l'ordre du jour" label_agenda_items_reordered: "réorganisé" label_agenda_item_remove: "Supprimer de l'ordre du jour" diff --git a/modules/meeting/config/locales/crowdin/js-pt-BR.yml b/modules/meeting/config/locales/crowdin/js-pt-BR.yml index de1593cfc11c..5e68df5c7f6b 100644 --- a/modules/meeting/config/locales/crowdin/js-pt-BR.yml +++ b/modules/meeting/config/locales/crowdin/js-pt-BR.yml @@ -24,4 +24,4 @@ pt-BR: label_meetings: 'Reuniões' work_packages: tabs: - meetings: 'Meetings' + meetings: 'Reuniões' diff --git a/modules/meeting/config/locales/crowdin/pt-BR.yml b/modules/meeting/config/locales/crowdin/pt-BR.yml index 427360f16ae1..f8261883a6d8 100644 --- a/modules/meeting/config/locales/crowdin/pt-BR.yml +++ b/modules/meeting/config/locales/crowdin/pt-BR.yml @@ -123,7 +123,7 @@ pt-BR: email: send_emails: "Enviar e-mails" send_invitation_emails: > - Send an email invitation immediately to the participants selected above. You can also do this manually at any time later. + Enviar um convite por e-mail imediatamente para os participantes selecionados acima. Você também pode fazer isso manualmente a qualquer momento mais tarde. open_meeting_link: "Abrir reunião" invited: summary: "%{actor} enviou a você um convite para a reunião %{title}" @@ -148,7 +148,7 @@ pt-BR: empty_text: "Arraste itens para cá ou crie um novo." notice_successful_notification: "Notificação enviada com sucesso" notice_timezone_missing: Nenhum fuso horário está definido, portanto assumiu-se %{zone}. Para escolher o seu fuso horário, clique aqui. - notice_meeting_updated: "This page has been updated by someone else. Reload to view changes." + notice_meeting_updated: "Esta página foi atualizada por outra pessoa. Recarregue para ver as alterações." permission_create_meetings: "Criar reuniões" permission_edit_meetings: "Editar reuniões" permission_delete_meetings: "Excluir reuniões" @@ -180,7 +180,7 @@ pt-BR: label_meeting_delete: "Excluir reunião" label_meeting_created_by: "Criado por" label_meeting_last_updated: "Última atualização" - label_meeting_reload: "Reload" + label_meeting_reload: "Recarregar" label_agenda_items: "Itens da agenda" label_agenda_items_reordered: "reorganizado" label_agenda_item_remove: "Remover da agenda" diff --git a/modules/recaptcha/config/locales/crowdin/pt-BR.yml b/modules/recaptcha/config/locales/crowdin/pt-BR.yml index a112034e88e9..964395fcc92b 100644 --- a/modules/recaptcha/config/locales/crowdin/pt-BR.yml +++ b/modules/recaptcha/config/locales/crowdin/pt-BR.yml @@ -9,7 +9,7 @@ pt-BR: verify_account: "Verifique a sua conta" error_captcha: "Não foi possível verificar sua conta. Por favor, entre em contato com um administrador." settings: - website_key: 'Website key (May also be called "Site key")' + website_key: 'Chave do site (também pode ser chamada "Código do site")' response_limit: 'Limite de resposta para HCaptcha' response_limit_text: 'O número máximo de caracteres para tratar a resposta HCaptcha como válida.' website_key_text: 'Digite a chave do site que você criou no console de administração reCAPTCHA para este domínio.' diff --git a/modules/storages/config/locales/crowdin/fr.yml b/modules/storages/config/locales/crowdin/fr.yml index 4d7ed8199dce..2f2944a9654e 100644 --- a/modules/storages/config/locales/crowdin/fr.yml +++ b/modules/storages/config/locales/crowdin/fr.yml @@ -31,7 +31,7 @@ fr: attributes: host: authorization_header_missing: n'est pas entièrement configuré. L'instance Nextcloud ne reçoit pas l'en-tête "Authorization", ce qui est nécessaire pour une autorisation basée sur un jeton Bearer des requêtes API. Veuillez vérifier la configuration de votre serveur HTTP. - cannot_be_connected_to: could not be reached. Please ensure the host is reachable and the OpenProject integration app is installed. + cannot_be_connected_to: n'a pas pu être atteint. Veuillez vous assurer que l'hôte est joignable et que l'application d'intégration OpenProject est installée. minimal_nextcloud_version_unmet: ne répond pas aux exigences minimales de version (doit être Nextcloud 23 ou supérieur) not_nextcloud_server: n'est pas un serveur Nextcloud op_application_not_installed: semble ne pas avoir installé l'application "Intégration OpenProject" . Veuillez d'abord l'installer puis réessayer. diff --git a/modules/storages/config/locales/crowdin/pt-BR.yml b/modules/storages/config/locales/crowdin/pt-BR.yml index 4f7dde05336e..b93f83e6f655 100644 --- a/modules/storages/config/locales/crowdin/pt-BR.yml +++ b/modules/storages/config/locales/crowdin/pt-BR.yml @@ -22,7 +22,7 @@ pt-BR: storages/project_storage: attributes: project_folder_id: - blank: Please select a folder. + blank: Selecione uma pasta. project_folder_mode: mode_unavailable: não está disponível para este armazenamento. project_ids: @@ -31,7 +31,7 @@ pt-BR: attributes: host: authorization_header_missing: se não totalmente configurado. A instância Nextcloud não recebe o cabeçalho "Autorização", que é necessário para um token Bearer com base na autorização de solicitações de API. Verifique novamente suas configurações de servidor HTTP. - cannot_be_connected_to: could not be reached. Please ensure the host is reachable and the OpenProject integration app is installed. + cannot_be_connected_to: não pôde ser acessado. Verifique se o host pode ser acessado e se o aplicativo de integração do OpenProject está instalado. minimal_nextcloud_version_unmet: não atende aos requisitos mínimos de versão (deve ser Nextcloud 23 ou superior) not_nextcloud_server: não é um servidor Nextcloud op_application_not_installed: Parece não possui o aplicativo "OpenProject integration" instalado. Instale-o primeiro e depois tente novamente. @@ -60,13 +60,13 @@ pt-BR: project_module_storages: Arquivos project_storages: edit_project_folder: - label: Edit project folder + label: Editar a pasta do projeto project_folder_mode: automatic: Gerenciado automaticamente inactive: Nenhuma pasta específica manual: Pasta existente gerenciada manualmente remove_project: - deletion_failure_flash: Failed to remove the project from the storage. %{error} + deletion_failure_flash: Falha ao remover o projeto do armazenamento. %{error} dialog: automatically_managed_appendix: Além disso, neste caso, este armazenamento tenha uma pasta de projeto gerenciado automaticamente, este e seus arquivos serão excluídos para sempre. confirmation_text: Confirme se você entende e deseja remover este armazenamento de arquivos do projeto @@ -317,23 +317,23 @@ pt-BR: notice_successful_storage_connection: |- Armazenamento conectado com sucesso! Lembre-se de ativar o módulo e o armazenamento específico nas configurações do projeto de cada projeto desejado para utilizá-lo. oauth_access_granted_modal: - access_granted: Access granted + access_granted: Acesso concedido project_settings: - access_granted_screen_reader: Access granted. You are now ready to use %{storage} - storage_ready: You are now ready to use %{storage} + access_granted_screen_reader: Acesso concedido. Você está pronto para usar %{storage} + storage_ready: Agora você está pronto para usar %{storage} storage_admin: - access_granted_screen_reader: Access granted. You are now ready to add projects to %{storage} - storage_ready: You are now ready to add projects to %{storage} + access_granted_screen_reader: Acesso concedido. Agora você está pronto para adicionar projetos ao %{storage} + storage_ready: Agora você está pronto para adicionar projetos ao %{storage} oauth_grant_nudge_modal: cancel_button_label: Cuidarei disso mais tarde - heading: Login to %{provider_type} required - login_button_aria_label: Login to %{storage} - login_button_label: "%{provider_type} log in" + heading: Login para %{provider_type} necessário + login_button_aria_label: Faça login em %{storage} + login_button_label: "Login %{provider_type}" project_settings: - description: To get access to the project folder you need to login to %{storage}. + description: Para ter acesso à pasta do projeto, você precisa entrar no %{storage}. requesting_access_to: Solicitação de acesso ao site %{storage} storage_admin: - description: In order to add projects to this storage you need to be logged into %{provider_type}. Please, log in and try again. + description: Para adicionar projetos a esse armazenamento, o senhor precisa estar conectado em %{provider_type}. Por favor, faça o login e tente novamente. open_project_storage_modal: success: subtitle: Você está sendo redirecionado From 1315cb2bde660ca6feb37eb0191a8d059ed8c406 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Sun, 1 Sep 2024 03:11:32 +0000 Subject: [PATCH 042/147] update locales from crowdin [ci skip] --- config/locales/crowdin/js-sv.yml | 4 +-- config/locales/crowdin/js-zh-CN.yml | 4 +-- config/locales/crowdin/sv.yml | 10 +++---- config/locales/crowdin/zh-CN.yml | 30 +++++++++---------- .../config/locales/crowdin/zh-CN.yml | 8 ++--- .../storages/config/locales/crowdin/sv.yml | 2 +- 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/config/locales/crowdin/js-sv.yml b/config/locales/crowdin/js-sv.yml index ab63025c4242..5a60402ffffe 100644 --- a/config/locales/crowdin/js-sv.yml +++ b/config/locales/crowdin/js-sv.yml @@ -1187,8 +1187,8 @@ sv: other: "%{count} dagar" zero: "0 dagar" word: - one: "1 word" - other: "%{count} words" + one: "1 ord" + other: "%{count} ord" zen_mode: button_activate: "Aktivera zen-läge" button_deactivate: "Inaktivera avskalat läge" diff --git a/config/locales/crowdin/js-zh-CN.yml b/config/locales/crowdin/js-zh-CN.yml index 68289e86ba07..ec92c25eb122 100644 --- a/config/locales/crowdin/js-zh-CN.yml +++ b/config/locales/crowdin/js-zh-CN.yml @@ -278,9 +278,9 @@ zh-CN: 更改可能需要一些时间才能生效。当更新完所有相关工作包时,您将收到通知。 work_packages_settings: warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- - 将进度计算模式从基于状态改为基于工时,将使% 完成变为不可编辑字段,其值来自工时剩余工时% 完成现有值将保留。如果没有 工时剩余工时的值,则需要这些值才能更改 % 完成。 + 将进度计算模式从基于状态改为基于工时,将使完成 %变为不可编辑字段,其值来自工时剩余工时完成 %现有值将保留。如果没有 工时剩余工时的值,则需要这些值才能更改 完成 %。 warning_progress_calculation_mode_change_from_status_to_field_html: >- - 将进度计算模式从基于状态改为基于工时,将使% 完成字段可自由编辑。如果您选择输入工时剩余工时的值,它们也将与% 完成相关联。更改剩余工时就可以更新% 完成。 + 将进度计算模式从基于状态改为基于工时,将使完成 %字段可自由编辑。如果您选择输入工时剩余工时的值,它们也将与完成 %相关联。更改剩余工时就可以更新完成 %。 warning_progress_calculation_mode_change_from_field_to_status_html: >- 将进度计算模式从基于工时的方式改为基于状态,将会导致所有现有的 %完整的 值丢失,并被与每个状态相关的值所替代。 剩余工时 的现有值也可能被重新计算,以反映这种变化。此操作不可逆转。 custom_actions: diff --git a/config/locales/crowdin/sv.yml b/config/locales/crowdin/sv.yml index b920f1565d27..8f3739f5a235 100644 --- a/config/locales/crowdin/sv.yml +++ b/config/locales/crowdin/sv.yml @@ -1652,7 +1652,7 @@ sv: title: "Export" submit: "Export" format: - label: "File format" + label: "Filformat" options: csv: label: "CSV" @@ -1684,10 +1684,10 @@ sv: label: "Zoom levels" caption: "Select what is the zoom level for dates displayed in the chart." options: - days: "Days" - weeks: "Weeks" - months: "Months" - quarters: "Quarters" + days: "Dagar" + weeks: "Veckor" + months: "Månader" + quarters: "Kvartal" column_width: label: "Table column width" options: diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index af1148b13cff..6f639772ec65 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -297,7 +297,7 @@ zh-CN: actions: label_enable_single: "在此项目中处于活动状态,点击禁用" label_disable_single: "在此项目中未启用,点击启用" - remove_from_project: "Remove from project" + remove_from_project: "从项目移除" label_enable_all: "全部启用" label_disable_all: "全部禁用" is_required_blank_slate: @@ -1063,16 +1063,16 @@ zh-CN: estimated_hours: not_a_number: "不是有效的持续时间。" cant_be_inferior_to_remaining_work: "不能低于剩余工时。" - must_be_set_when_remaining_work_and_percent_complete_are_set: "设置“剩余工时”和“% 完成”时必填。" + must_be_set_when_remaining_work_and_percent_complete_are_set: "设置“剩余工时”和“完成%”时必填。" remaining_hours: not_a_number: "不是有效的持续时间。" cant_exceed_work: "不能高于工时。" must_be_set_when_work_is_set: "设置“工时”时必填。" - must_be_set_when_work_and_percent_complete_are_set: "设置“工时”和“% 完成”时必填。" + must_be_set_when_work_and_percent_complete_are_set: "设置“工时”和“完成%”时必填。" must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- - 当“工时”已设置,且“% 完成”为 100%时,必须为0h。 + 当“工时”已设置,且“完成%”为 100% 时,必须为 0h 。 must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- - 当“工时”为空,且“% 完成”为 100%时,必须为空。 + 当“工时”为空,且“完成%”为 100% 时,必须为空。 readonly_status: "工作包处于只读状态,因此无法更改其属性。" type: attributes: @@ -1632,7 +1632,7 @@ zh-CN: options: table: label: "表格" - caption: "以表格形式导出工作包列表,包含所需的列。" + caption: "将工作包列表导出为包含所需列的表格。" report: label: "报告" caption: "以详细报告的形式导出列表中的所有工作包。" @@ -1640,8 +1640,8 @@ zh-CN: label: "甘特图" caption: "以甘特图视图导出工作包列表。" include_images: - label: "包含图片" - caption: "不包含图像以缩小导出PDF的大小。" + label: "包含图像" + caption: "不包含图像以减小导出PDF的大小。" gantt_zoom_levels: label: "缩放级别" caption: "选择图表中显示日期的缩放级别。" @@ -1668,7 +1668,7 @@ zh-CN: xls: include_relations: label: "包含关系" - caption: "该选项将为每个工作包与另一个工作包的关系创建一个副本。" + caption: "此选项将为每个与其他工作包有关系的工作包创建一个副本。" include_descriptions: label: "包含描述" caption: "该选项将添加原始格式的描述列。" @@ -3074,9 +3074,9 @@ zh-CN: setting_work_package_done_ratio_field: "基于工时" setting_work_package_done_ratio_status: "基于状态" setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > - 在基于工时模式下,“% 完成”是根据已完成的工时占总工时的比例计算出来的。在基于状态模式下,每个状态都有一个与之相关的“% 完成”。更改状态将改变“% 完成”。 + 在基于工时模式下,“完成 %”是根据已完成的工时占总工时的比例计算出来的。在基于状态模式下,每个状态都有一个与之相关的“完成 %”。更改状态将改变“完成 %”。 setting_work_package_done_ratio_explanation_html: > - 在基于工作的模式下,“% 完成”可以自由设置为任何值。如果选择输入 "工时 "值,则会自动得出 "剩余工时"。在基于状态的模式下,每个状态都有一个与之相关的“% 完成”值。更改状态将改变“% 完成”。 + 在基于工作的模式下,“完成 %”可以自由设置为任何值。如果选择输入 "工时 "值,则会自动得出 "剩余工时"。在基于状态的模式下,每个状态都有一个与之相关的“完成 %”值。更改状态将改变“完成 %”。 setting_work_package_properties: "工作包属性" setting_work_package_startdate_is_adddate: "使用当前日期作为新工作包的开始日期" setting_work_packages_projects_export_limit: "工作包/项目导出限制" @@ -3458,7 +3458,7 @@ zh-CN: label_note: "注意:" modal: work_based_help_text: "在可能的情况下,每个字段都会根据另外两个字段自动计算。" - work_based_help_text_pre_14_4_without_percent_complete_edition: "“% 完成”由 \"工时\" 和 \"剩余工时\" 自动得出。" + work_based_help_text_pre_14_4_without_percent_complete_edition: "“完成 %”由 \"工时\" 和 \"剩余工时\" 自动得出。" status_based_help_text: "完成百分比由工作包状态设定。" migration_warning_text: "在基于工时的进度计算模式下,完成百分比不能手动设置,而是与工时绑定。现有值已被保留,但无法编辑。请先输入工时。" derivation_hints: @@ -3468,13 +3468,13 @@ zh-CN: derived: "源自“工时”和“剩余工时”。" estimated_hours: cleared_because_remaining_work_is_empty: "已清空,因为“剩余工时”为空。" - derived: "由“剩余工时”和“% 完成”得出" + derived: "由“剩余工时”和“完成 %”得出" same_as_remaining_work: "设置为与“剩余工时”相同的值。" remaining_hours: cleared_because_work_is_empty: "已清空,因为 \"工时 \"为空。" - cleared_because_percent_complete_is_empty: "已清空,因为“% 完成”为空。" + cleared_because_percent_complete_is_empty: "已清空,因为“完成 %”为空。" decreased_like_work: "减少与 \"工时 \"相同的数额。" - derived: "由“工时”和“% 完成”得出" + derived: "由“工时”和“完成 %”得出" increased_like_work: "增加与 \"工时 \"相同的数额。" same_as_work: "设置为与 \"工时 \"相同的值。" permissions: diff --git a/modules/job_status/config/locales/crowdin/zh-CN.yml b/modules/job_status/config/locales/crowdin/zh-CN.yml index da0ec0621059..c0cfed029dc1 100644 --- a/modules/job_status/config/locales/crowdin/zh-CN.yml +++ b/modules/job_status/config/locales/crowdin/zh-CN.yml @@ -5,17 +5,17 @@ zh-CN: description: "后台作业的列表和状态。" job_status_dialog: download_starts: '下载会自动开始。' - link_to_download: '或 %{link} 下载。' + link_to_download: '或者,%{link} 以下载。' click_here: '点击此处' title: '后台作业状态' - redirect: '正在将您重新定向。' + redirect: '正在将您重定向。' redirect_link: '请点击此处继续。' - redirect_errors: '由于这些错误,您将不会被自动重新定向。' + redirect_errors: '由于这些错误,您将不会被自动重定向。' errors: '出错了' generic_messages: not_found: '找不到此项作业。' in_queue: '作业已排队,将很快处理。' - in_process: '工作正在处理中。' + in_process: '作业正在处理中。' error: '作业未能完成。' cancelled: '作业因错误被取消。' success: '作业已成功完成。' diff --git a/modules/storages/config/locales/crowdin/sv.yml b/modules/storages/config/locales/crowdin/sv.yml index 7047866eec73..790a1bce560b 100644 --- a/modules/storages/config/locales/crowdin/sv.yml +++ b/modules/storages/config/locales/crowdin/sv.yml @@ -60,7 +60,7 @@ sv: project_module_storages: Filer project_storages: edit_project_folder: - label: Edit project folder + label: Redigera projektmapp project_folder_mode: automatic: Automatically managed inactive: No specific folder From 71562d16e79ea2b379860563861effbe492cbdad Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Sun, 1 Sep 2024 03:13:16 +0000 Subject: [PATCH 043/147] update locales from crowdin [ci skip] --- config/locales/crowdin/js-sv.yml | 4 +-- config/locales/crowdin/js-zh-CN.yml | 4 +-- config/locales/crowdin/sv.yml | 10 +++---- config/locales/crowdin/zh-CN.yml | 30 +++++++++---------- .../config/locales/crowdin/zh-CN.yml | 8 ++--- .../storages/config/locales/crowdin/sv.yml | 2 +- 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/config/locales/crowdin/js-sv.yml b/config/locales/crowdin/js-sv.yml index ab63025c4242..5a60402ffffe 100644 --- a/config/locales/crowdin/js-sv.yml +++ b/config/locales/crowdin/js-sv.yml @@ -1187,8 +1187,8 @@ sv: other: "%{count} dagar" zero: "0 dagar" word: - one: "1 word" - other: "%{count} words" + one: "1 ord" + other: "%{count} ord" zen_mode: button_activate: "Aktivera zen-läge" button_deactivate: "Inaktivera avskalat läge" diff --git a/config/locales/crowdin/js-zh-CN.yml b/config/locales/crowdin/js-zh-CN.yml index 68289e86ba07..ec92c25eb122 100644 --- a/config/locales/crowdin/js-zh-CN.yml +++ b/config/locales/crowdin/js-zh-CN.yml @@ -278,9 +278,9 @@ zh-CN: 更改可能需要一些时间才能生效。当更新完所有相关工作包时,您将收到通知。 work_packages_settings: warning_progress_calculation_mode_change_from_status_to_field_pre_14_4_without_percent_complete_edition_html: >- - 将进度计算模式从基于状态改为基于工时,将使% 完成变为不可编辑字段,其值来自工时剩余工时% 完成现有值将保留。如果没有 工时剩余工时的值,则需要这些值才能更改 % 完成。 + 将进度计算模式从基于状态改为基于工时,将使完成 %变为不可编辑字段,其值来自工时剩余工时完成 %现有值将保留。如果没有 工时剩余工时的值,则需要这些值才能更改 完成 %。 warning_progress_calculation_mode_change_from_status_to_field_html: >- - 将进度计算模式从基于状态改为基于工时,将使% 完成字段可自由编辑。如果您选择输入工时剩余工时的值,它们也将与% 完成相关联。更改剩余工时就可以更新% 完成。 + 将进度计算模式从基于状态改为基于工时,将使完成 %字段可自由编辑。如果您选择输入工时剩余工时的值,它们也将与完成 %相关联。更改剩余工时就可以更新完成 %。 warning_progress_calculation_mode_change_from_field_to_status_html: >- 将进度计算模式从基于工时的方式改为基于状态,将会导致所有现有的 %完整的 值丢失,并被与每个状态相关的值所替代。 剩余工时 的现有值也可能被重新计算,以反映这种变化。此操作不可逆转。 custom_actions: diff --git a/config/locales/crowdin/sv.yml b/config/locales/crowdin/sv.yml index b920f1565d27..8f3739f5a235 100644 --- a/config/locales/crowdin/sv.yml +++ b/config/locales/crowdin/sv.yml @@ -1652,7 +1652,7 @@ sv: title: "Export" submit: "Export" format: - label: "File format" + label: "Filformat" options: csv: label: "CSV" @@ -1684,10 +1684,10 @@ sv: label: "Zoom levels" caption: "Select what is the zoom level for dates displayed in the chart." options: - days: "Days" - weeks: "Weeks" - months: "Months" - quarters: "Quarters" + days: "Dagar" + weeks: "Veckor" + months: "Månader" + quarters: "Kvartal" column_width: label: "Table column width" options: diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index 7b4e6e1ca084..10c6419b8c6f 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -297,7 +297,7 @@ zh-CN: actions: label_enable_single: "在此项目中处于活动状态,点击禁用" label_disable_single: "在此项目中未启用,点击启用" - remove_from_project: "Remove from project" + remove_from_project: "从项目移除" label_enable_all: "全部启用" label_disable_all: "全部禁用" is_required_blank_slate: @@ -1063,16 +1063,16 @@ zh-CN: estimated_hours: not_a_number: "不是有效的持续时间。" cant_be_inferior_to_remaining_work: "不能低于剩余工时。" - must_be_set_when_remaining_work_and_percent_complete_are_set: "设置“剩余工时”和“% 完成”时必填。" + must_be_set_when_remaining_work_and_percent_complete_are_set: "设置“剩余工时”和“完成%”时必填。" remaining_hours: not_a_number: "不是有效的持续时间。" cant_exceed_work: "不能高于工时。" must_be_set_when_work_is_set: "设置“工时”时必填。" - must_be_set_when_work_and_percent_complete_are_set: "设置“工时”和“% 完成”时必填。" + must_be_set_when_work_and_percent_complete_are_set: "设置“工时”和“完成%”时必填。" must_be_set_to_zero_hours_when_work_is_set_and_percent_complete_is_100p: >- - 当“工时”已设置,且“% 完成”为 100%时,必须为0h。 + 当“工时”已设置,且“完成%”为 100% 时,必须为 0h 。 must_be_empty_when_work_is_empty_and_percent_complete_is_100p: >- - 当“工时”为空,且“% 完成”为 100%时,必须为空。 + 当“工时”为空,且“完成%”为 100% 时,必须为空。 readonly_status: "工作包处于只读状态,因此无法更改其属性。" type: attributes: @@ -1632,7 +1632,7 @@ zh-CN: options: table: label: "表格" - caption: "以表格形式导出工作包列表,包含所需的列。" + caption: "将工作包列表导出为包含所需列的表格。" report: label: "报告" caption: "以详细报告的形式导出列表中的所有工作包。" @@ -1640,8 +1640,8 @@ zh-CN: label: "甘特图" caption: "以甘特图视图导出工作包列表。" include_images: - label: "包含图片" - caption: "不包含图像以缩小导出PDF的大小。" + label: "包含图像" + caption: "不包含图像以减小导出PDF的大小。" gantt_zoom_levels: label: "缩放级别" caption: "选择图表中显示日期的缩放级别。" @@ -1668,7 +1668,7 @@ zh-CN: xls: include_relations: label: "包含关系" - caption: "该选项将为每个工作包与另一个工作包的关系创建一个副本。" + caption: "此选项将为每个与其他工作包有关系的工作包创建一个副本。" include_descriptions: label: "包含描述" caption: "该选项将添加原始格式的描述列。" @@ -3074,9 +3074,9 @@ zh-CN: setting_work_package_done_ratio_field: "基于工时" setting_work_package_done_ratio_status: "基于状态" setting_work_package_done_ratio_explanation_pre_14_4_without_percent_complete_edition_html: > - 在基于工时模式下,“% 完成”是根据已完成的工时占总工时的比例计算出来的。在基于状态模式下,每个状态都有一个与之相关的“% 完成”。更改状态将改变“% 完成”。 + 在基于工时模式下,“完成 %”是根据已完成的工时占总工时的比例计算出来的。在基于状态模式下,每个状态都有一个与之相关的“完成 %”。更改状态将改变“完成 %”。 setting_work_package_done_ratio_explanation_html: > - 在基于工作的模式下,“% 完成”可以自由设置为任何值。如果选择输入 "工时 "值,则会自动得出 "剩余工时"。在基于状态的模式下,每个状态都有一个与之相关的“% 完成”值。更改状态将改变“% 完成”。 + 在基于工作的模式下,“完成 %”可以自由设置为任何值。如果选择输入 "工时 "值,则会自动得出 "剩余工时"。在基于状态的模式下,每个状态都有一个与之相关的“完成 %”值。更改状态将改变“完成 %”。 setting_work_package_properties: "工作包属性" setting_work_package_startdate_is_adddate: "使用当前日期作为新工作包的开始日期" setting_work_packages_projects_export_limit: "工作包/项目导出限制" @@ -3458,7 +3458,7 @@ zh-CN: label_note: "注意:" modal: work_based_help_text: "在可能的情况下,每个字段都会根据另外两个字段自动计算。" - work_based_help_text_pre_14_4_without_percent_complete_edition: "“% 完成”由 \"工时\" 和 \"剩余工时\" 自动得出。" + work_based_help_text_pre_14_4_without_percent_complete_edition: "“完成 %”由 \"工时\" 和 \"剩余工时\" 自动得出。" status_based_help_text: "完成百分比由工作包状态设定。" migration_warning_text: "在基于工时的进度计算模式下,完成百分比不能手动设置,而是与工时绑定。现有值已被保留,但无法编辑。请先输入工时。" derivation_hints: @@ -3468,13 +3468,13 @@ zh-CN: derived: "源自“工时”和“剩余工时”。" estimated_hours: cleared_because_remaining_work_is_empty: "已清空,因为“剩余工时”为空。" - derived: "由“剩余工时”和“% 完成”得出" + derived: "由“剩余工时”和“完成 %”得出" same_as_remaining_work: "设置为与“剩余工时”相同的值。" remaining_hours: cleared_because_work_is_empty: "已清空,因为 \"工时 \"为空。" - cleared_because_percent_complete_is_empty: "已清空,因为“% 完成”为空。" + cleared_because_percent_complete_is_empty: "已清空,因为“完成 %”为空。" decreased_like_work: "减少与 \"工时 \"相同的数额。" - derived: "由“工时”和“% 完成”得出" + derived: "由“工时”和“完成 %”得出" increased_like_work: "增加与 \"工时 \"相同的数额。" same_as_work: "设置为与 \"工时 \"相同的值。" permissions: diff --git a/modules/job_status/config/locales/crowdin/zh-CN.yml b/modules/job_status/config/locales/crowdin/zh-CN.yml index da0ec0621059..c0cfed029dc1 100644 --- a/modules/job_status/config/locales/crowdin/zh-CN.yml +++ b/modules/job_status/config/locales/crowdin/zh-CN.yml @@ -5,17 +5,17 @@ zh-CN: description: "后台作业的列表和状态。" job_status_dialog: download_starts: '下载会自动开始。' - link_to_download: '或 %{link} 下载。' + link_to_download: '或者,%{link} 以下载。' click_here: '点击此处' title: '后台作业状态' - redirect: '正在将您重新定向。' + redirect: '正在将您重定向。' redirect_link: '请点击此处继续。' - redirect_errors: '由于这些错误,您将不会被自动重新定向。' + redirect_errors: '由于这些错误,您将不会被自动重定向。' errors: '出错了' generic_messages: not_found: '找不到此项作业。' in_queue: '作业已排队,将很快处理。' - in_process: '工作正在处理中。' + in_process: '作业正在处理中。' error: '作业未能完成。' cancelled: '作业因错误被取消。' success: '作业已成功完成。' diff --git a/modules/storages/config/locales/crowdin/sv.yml b/modules/storages/config/locales/crowdin/sv.yml index 7047866eec73..790a1bce560b 100644 --- a/modules/storages/config/locales/crowdin/sv.yml +++ b/modules/storages/config/locales/crowdin/sv.yml @@ -60,7 +60,7 @@ sv: project_module_storages: Filer project_storages: edit_project_folder: - label: Edit project folder + label: Redigera projektmapp project_folder_mode: automatic: Automatically managed inactive: No specific folder From e5d334f9a019e876b39119da481bf2cdd1ab2c20 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Mon, 2 Sep 2024 03:05:36 +0000 Subject: [PATCH 044/147] update locales from crowdin [ci skip] --- config/locales/crowdin/vi.yml | 14 +++++++------- modules/meeting/config/locales/crowdin/vi.yml | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/config/locales/crowdin/vi.yml b/config/locales/crowdin/vi.yml index 95d02458d286..d7d9acc44134 100644 --- a/config/locales/crowdin/vi.yml +++ b/config/locales/crowdin/vi.yml @@ -267,8 +267,8 @@ vi: no_results_title_text: Không có dự án nào no_results_content_text: Tạo một dự án mới search: - label: Project name filter - placeholder: Search by project name + label: Bộ lọc tên dự án + placeholder: Tìm kiếm theo tên dự án lists: active: "Các dự án đang hoạt động" my: "Dự án của tôi" @@ -1035,10 +1035,10 @@ vi: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match Work and Remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" - must_be_set_when_remaining_work_is_set: "required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "không khớp với Công việc và Công việc còn lại" + cannot_be_set_when_work_is_zero: "không thể thiết lập khi Công việc là 0h" + must_be_set_when_remaining_work_is_set: "cần thiết khi công việc còn lại được thiết lập." + must_be_set_when_work_and_remaining_work_are_set: "cần thiết khi Công việc và Công việc còn lại được thiết lập." inclusion: "phải nằm trong khoảng từ 0 đến 100." due_date: not_start_date: "không phải ngày bắt đầu, mặc dù điều này là cần thiết cho các mốc quan trọng." @@ -1068,7 +1068,7 @@ vi: does_not_exist: "Thể loại đã chỉ định không tồn tại." estimated_hours: not_a_number: "không phải là thời gian hợp lệ." - cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + cant_be_inferior_to_remaining_work: "không thể thấp hơn Công việc còn lại." must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "không phải là thời gian hợp lệ." diff --git a/modules/meeting/config/locales/crowdin/vi.yml b/modules/meeting/config/locales/crowdin/vi.yml index 15189cde1e9b..1bd2bc127497 100644 --- a/modules/meeting/config/locales/crowdin/vi.yml +++ b/modules/meeting/config/locales/crowdin/vi.yml @@ -122,7 +122,7 @@ vi: email: send_emails: "Gửi email" send_invitation_emails: > - Send an email invitation immediately to the participants selected above. You can also do this manually at any time later. + Gửi lời mời qua email ngay lập tức đến những người tham gia được chọn ở trên. Bạn cũng có thể thực hiện thủ công bất kỳ lúc nào sau đó. open_meeting_link: "Mở cuộc họp" invited: summary: "%{actor} đã gửi cho bạn một lời mời tham gia cuộc họp %{title}" @@ -147,7 +147,7 @@ vi: empty_text: "Kéo các mục vào đây hoặc tạo một cái mới" notice_successful_notification: "Đã gửi thông báo thành công" notice_timezone_missing: Chưa đặt múi giờ và %{zone} đã được chọn. Để chọn múi giowf của bạn, nhấn vào đây. - notice_meeting_updated: "This page has been updated by someone else. Reload to view changes." + notice_meeting_updated: "Trang này đã được người khác cập nhật. Tải lại để xem thay đổi." permission_create_meetings: "Tạo cuộc họp" permission_edit_meetings: "Chỉnh sửa cuộc họp" permission_delete_meetings: "Xóa cuộc họp" @@ -179,7 +179,7 @@ vi: label_meeting_delete: "Xóa cuộc họp" label_meeting_created_by: "Được tạo bởi" label_meeting_last_updated: "Cập nhật lần cuối" - label_meeting_reload: "Reload" + label_meeting_reload: "Tải lại" label_agenda_items: "Các mục chương trình nghị sự" label_agenda_items_reordered: "đã sắp xếp lại" label_agenda_item_remove: "Gỡ bỏ khỏi chương trình nghị sự" From 5cc84f41c5a580b6d85a044ed57471e428c70a76 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Mon, 2 Sep 2024 03:07:53 +0000 Subject: [PATCH 045/147] update locales from crowdin [ci skip] --- config/locales/crowdin/vi.yml | 14 +++++++------- modules/meeting/config/locales/crowdin/vi.yml | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/config/locales/crowdin/vi.yml b/config/locales/crowdin/vi.yml index db1663be1d86..ddebd42acc7f 100644 --- a/config/locales/crowdin/vi.yml +++ b/config/locales/crowdin/vi.yml @@ -267,8 +267,8 @@ vi: no_results_title_text: Không có dự án nào no_results_content_text: Tạo một dự án mới search: - label: Project name filter - placeholder: Search by project name + label: Bộ lọc tên dự án + placeholder: Tìm kiếm theo tên dự án lists: active: "Các dự án đang hoạt động" my: "Dự án của tôi" @@ -1035,10 +1035,10 @@ vi: assigned_to: format: "%{message}" done_ratio: - does_not_match_work_and_remaining_work: "does not match Work and Remaining work" - cannot_be_set_when_work_is_zero: "cannot be set when Work is 0h" - must_be_set_when_remaining_work_is_set: "required when Remaining work is set." - must_be_set_when_work_and_remaining_work_are_set: "required when Work and Remaining work are set." + does_not_match_work_and_remaining_work: "không khớp với Công việc và Công việc còn lại" + cannot_be_set_when_work_is_zero: "không thể thiết lập khi Công việc là 0h" + must_be_set_when_remaining_work_is_set: "cần thiết khi công việc còn lại được thiết lập." + must_be_set_when_work_and_remaining_work_are_set: "cần thiết khi Công việc và Công việc còn lại được thiết lập." inclusion: "phải nằm trong khoảng từ 0 đến 100." due_date: not_start_date: "không phải ngày bắt đầu, mặc dù điều này là cần thiết cho các mốc quan trọng." @@ -1068,7 +1068,7 @@ vi: does_not_exist: "Thể loại đã chỉ định không tồn tại." estimated_hours: not_a_number: "không phải là thời gian hợp lệ." - cant_be_inferior_to_remaining_work: "cannot be lower than Remaining work." + cant_be_inferior_to_remaining_work: "không thể thấp hơn Công việc còn lại." must_be_set_when_remaining_work_and_percent_complete_are_set: "required when Remaining work and % Complete are set." remaining_hours: not_a_number: "không phải là thời gian hợp lệ." diff --git a/modules/meeting/config/locales/crowdin/vi.yml b/modules/meeting/config/locales/crowdin/vi.yml index 15189cde1e9b..1bd2bc127497 100644 --- a/modules/meeting/config/locales/crowdin/vi.yml +++ b/modules/meeting/config/locales/crowdin/vi.yml @@ -122,7 +122,7 @@ vi: email: send_emails: "Gửi email" send_invitation_emails: > - Send an email invitation immediately to the participants selected above. You can also do this manually at any time later. + Gửi lời mời qua email ngay lập tức đến những người tham gia được chọn ở trên. Bạn cũng có thể thực hiện thủ công bất kỳ lúc nào sau đó. open_meeting_link: "Mở cuộc họp" invited: summary: "%{actor} đã gửi cho bạn một lời mời tham gia cuộc họp %{title}" @@ -147,7 +147,7 @@ vi: empty_text: "Kéo các mục vào đây hoặc tạo một cái mới" notice_successful_notification: "Đã gửi thông báo thành công" notice_timezone_missing: Chưa đặt múi giờ và %{zone} đã được chọn. Để chọn múi giowf của bạn, nhấn vào đây. - notice_meeting_updated: "This page has been updated by someone else. Reload to view changes." + notice_meeting_updated: "Trang này đã được người khác cập nhật. Tải lại để xem thay đổi." permission_create_meetings: "Tạo cuộc họp" permission_edit_meetings: "Chỉnh sửa cuộc họp" permission_delete_meetings: "Xóa cuộc họp" @@ -179,7 +179,7 @@ vi: label_meeting_delete: "Xóa cuộc họp" label_meeting_created_by: "Được tạo bởi" label_meeting_last_updated: "Cập nhật lần cuối" - label_meeting_reload: "Reload" + label_meeting_reload: "Tải lại" label_agenda_items: "Các mục chương trình nghị sự" label_agenda_items_reordered: "đã sắp xếp lại" label_agenda_item_remove: "Gỡ bỏ khỏi chương trình nghị sự" From 5c79c89ae27c2b46f52903b858e05ef8465ebf9f Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 2 Sep 2024 09:57:05 +0200 Subject: [PATCH 046/147] fix broken anchor link --- docs/api/apiv3/example/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/apiv3/example/README.md b/docs/api/apiv3/example/README.md index 3c6e740fca48..7aab5e7fe4e4 100644 --- a/docs/api/apiv3/example/README.md +++ b/docs/api/apiv3/example/README.md @@ -138,7 +138,7 @@ A form: * contains a *schema* describing the properties of the work package as well as listing the available values for those referencing other resources. E.g. the projects in which work packages can be created (read in which the user has the permission to create work packages) are listed. * notes the current *errors* in the payload. E.g. a work package cannot be created outside of a project so a project reference needs to be provided. -The API documentation offers detailed information [on forms in general](../forms) and on the [work package create form](../endpoints/work-packages/#work-package-create-form-for-project) in particular. +The API documentation offers detailed information [on forms in general](../forms) and on the [work package create form](../endpoints/work-packages/#form-for-creating-work-packages-in-a-project) in particular. We will first fetch the empty form: From ce412d8fbe687aba7f62fbbb102e6d5957999d64 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 2 Sep 2024 09:57:30 +0200 Subject: [PATCH 047/147] chore(docs): remove unused images --- .../openproject_my_account_page_new.png | Bin 71158 -> 0 bytes ..._file_storages_health_message_nextcloud.png | Bin 105639 -> 0 bytes .../information/Sys-admin-information.png | Bin 28103 -> 0 bytes .../information/image-20200124104411677.png | Bin 21949 -> 0 bytes .../information/image-20200124104803476.png | Bin 9520 -> 0 bytes .../Sys-admin-copy-workflow.png | Bin 15081 -> 0 bytes .../Sys-admin-workflow-summary.png | Bin 15102 -> 0 bytes .../system-guide-ph-user-edit-project-role.png | Bin 28232 -> 0 bytes .../agile-boards/this-is-a-kanban-board.png | Bin 135659 -> 0 bytes .../home/openproject_user_guide_home_page.png | Bin 573039 -> 0 bytes .../project-lists/public-project-lists.png | Bin 38002 -> 0 bytes .../edit-work-package-1566546727784.png | Bin 109500 -> 0 bytes 12 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/getting-started/my-account/openproject_my_account_page_new.png delete mode 100644 docs/system-admin-guide/files/external-file-storages/health-status/openproject_file_storages_health_message_nextcloud.png delete mode 100644 docs/system-admin-guide/information/Sys-admin-information.png delete mode 100644 docs/system-admin-guide/information/image-20200124104411677.png delete mode 100644 docs/system-admin-guide/information/image-20200124104803476.png delete mode 100644 docs/system-admin-guide/manage-work-packages/work-package-workflows/Sys-admin-copy-workflow.png delete mode 100644 docs/system-admin-guide/manage-work-packages/work-package-workflows/Sys-admin-workflow-summary.png delete mode 100644 docs/system-admin-guide/users-permissions/placeholder-users/system-guide-ph-user-edit-project-role.png delete mode 100644 docs/user-guide/agile-boards/this-is-a-kanban-board.png delete mode 100644 docs/user-guide/home/openproject_user_guide_home_page.png delete mode 100644 docs/user-guide/projects/project-lists/public-project-lists.png delete mode 100644 docs/user-guide/work-packages/edit-work-package/edit-work-package-1566546727784.png diff --git a/docs/getting-started/my-account/openproject_my_account_page_new.png b/docs/getting-started/my-account/openproject_my_account_page_new.png deleted file mode 100644 index 998de6a73c0d43d644de6e9e3456639939ea201e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71158 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 diff --git a/docs/system-admin-guide/files/external-file-storages/health-status/openproject_file_storages_health_message_nextcloud.png b/docs/system-admin-guide/files/external-file-storages/health-status/openproject_file_storages_health_message_nextcloud.png deleted file mode 100644 index 2fbb32d387803afb2276da6a64704e41f7041c14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105639 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 z 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�AtH7AWz+{j;-S<>SQNmRq9qEGs^)nf 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 diff --git a/docs/system-admin-guide/information/Sys-admin-information.png b/docs/system-admin-guide/information/Sys-admin-information.png deleted file mode 100644 index 8908b20932a199d4d60636d2cf7e633252a2f356..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28103 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 Te4qE9F6(m@E#)djoACbunG=P@ diff --git a/docs/system-admin-guide/information/image-20200124104803476.png b/docs/system-admin-guide/information/image-20200124104803476.png deleted file mode 100644 index f09cba9b0d2018112e84c2aa772eec90c29a5452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9520 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 diff --git a/docs/system-admin-guide/manage-work-packages/work-package-workflows/Sys-admin-copy-workflow.png b/docs/system-admin-guide/manage-work-packages/work-package-workflows/Sys-admin-copy-workflow.png deleted file mode 100644 index 6e4b4bcf8de32687c580c58e032d77b3b8af9aff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15081 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 diff --git a/docs/system-admin-guide/manage-work-packages/work-package-workflows/Sys-admin-workflow-summary.png b/docs/system-admin-guide/manage-work-packages/work-package-workflows/Sys-admin-workflow-summary.png deleted file mode 100644 index 8fb39d73f12541f0e4062702339575a9d672d719..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15102 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�N?6y&y(0^h>AeV7>W0kvkcnt&?WJSa~8S8B9A5) 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 a{E8(-vx6dQhnucY@=1#;h!u(IfBZMC|6;!Y diff --git a/docs/user-guide/agile-boards/this-is-a-kanban-board.png b/docs/user-guide/agile-boards/this-is-a-kanban-board.png deleted file mode 100644 index 47f7a5dfc2696698bf8dc4e14d5194c46ee23899..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135659 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

-h)#?r=oFfi+K;>3wY^I7ZiPyD7u+D34_^ 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 Qh;iWHkm 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

dF_=q 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 z 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

EEAsf8E? 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

CFSs##QoXw^Kjmj_OtdGAMg%P`ck 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 ma98(LD*s;x^6myAcMdHao!^A?p_(Y=#B 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�fiORO%{W`W(aZ+|4`v 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 diff --git a/docs/user-guide/projects/project-lists/public-project-lists.png b/docs/user-guide/projects/project-lists/public-project-lists.png deleted file mode 100644 index d6ac009cf075e21bafecbcd643ce1fda52665b07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38002 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 Y4+UiUy|R|+9smFU07*qoM6N<$f(sc`GXMYp From 4a314e735ba84da17faeaedca758cffa59840f8c Mon Sep 17 00:00:00 2001 From: Eric Schubert Date: Mon, 2 Sep 2024 11:41:37 +0200 Subject: [PATCH 048/147] [#57603] fixed html title in project storage selection --- .../storages/app/views/storages/admin/storages/edit.html.erb | 2 +- .../storages/admin/storages/project_storages/index.html.erb | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/storages/app/views/storages/admin/storages/edit.html.erb b/modules/storages/app/views/storages/admin/storages/edit.html.erb index 3ca37cec84dd..1fa4b93a9c4e 100644 --- a/modules/storages/app/views/storages/admin/storages/edit.html.erb +++ b/modules/storages/app/views/storages/admin/storages/edit.html.erb @@ -27,7 +27,7 @@ See COPYRIGHT and LICENSE files for more details. ++#%> -<% html_title t(:label_administration), t("project_module_storages"), t('label_edit_x', x: @storage.name) %> +<% html_title t(:label_administration), t(:project_module_storages), t(:label_edit_x, x: @storage.name) %> <%= render(Storages::Admin::EditFormHeaderComponent.new( storage: @storage, diff --git a/modules/storages/app/views/storages/admin/storages/project_storages/index.html.erb b/modules/storages/app/views/storages/admin/storages/project_storages/index.html.erb index 6ed947c01ef8..c5fc86296051 100644 --- a/modules/storages/app/views/storages/admin/storages/project_storages/index.html.erb +++ b/modules/storages/app/views/storages/admin/storages/project_storages/index.html.erb @@ -27,6 +27,8 @@ See COPYRIGHT and LICENSE files for more details. ++#%> +<% html_title t(:label_administration), t(:project_module_storages), t(:label_project_mappings) %> + <%= render(Storages::Admin::EditFormHeaderComponent.new(storage: @storage, selected: :project_storages)) %> <%= From 0626d95451c7a2bcf44b48372efbee8c05b3e67e Mon Sep 17 00:00:00 2001 From: Christophe Bliard Date: Mon, 2 Sep 2024 12:55:14 +0200 Subject: [PATCH 049/147] Fix some test flakiness CustomField was not properly reset after the migration test renaming a column. Reproduction: rspec './spec/lib/custom_field_form_builder_spec.rb[1:1:1:1:1:1]' './spec/migrations/rename_visible_to_admin_only_in_custom_fields_spec.rb' --seed 47298 --- .../rename_visible_to_admin_only_in_custom_fields_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/migrations/rename_visible_to_admin_only_in_custom_fields_spec.rb b/spec/migrations/rename_visible_to_admin_only_in_custom_fields_spec.rb index 3e5cf99016eb..dc9d9c5266f0 100644 --- a/spec/migrations/rename_visible_to_admin_only_in_custom_fields_spec.rb +++ b/spec/migrations/rename_visible_to_admin_only_in_custom_fields_spec.rb @@ -32,7 +32,7 @@ RSpec.describe RenameVisibleToAdminOnlyInCustomFields, type: :model do after do # Reset after each spec to ensure we have the column information up to date. - ProjectCustomField.reset_column_information + CustomField.reset_column_information end context "when migrating up" do From c7062bd05974dbcecbde017f233a354c28b8888c Mon Sep 17 00:00:00 2001 From: Eric Schubert Date: Mon, 2 Sep 2024 13:30:29 +0200 Subject: [PATCH 050/147] [#57016] updated status API specification - https://community.openproject.org/work_packages/57016 --- .../components/examples/status_collection.yml | 91 +++++++++++-------- .../components/examples/status_response.yml | 16 ++++ .../schemas/status_collection_model.yml | 13 --- .../apiv3/components/schemas/status_model.yml | 55 +++++------ docs/api/apiv3/openapi-spec.yml | 10 +- docs/api/apiv3/paths/status.yml | 65 ++++++------- docs/api/apiv3/paths/statuses.yml | 28 +++--- 7 files changed, 146 insertions(+), 132 deletions(-) create mode 100644 docs/api/apiv3/components/examples/status_response.yml diff --git a/docs/api/apiv3/components/examples/status_collection.yml b/docs/api/apiv3/components/examples/status_collection.yml index c2756848fc2e..d12e01ba2aa5 100644 --- a/docs/api/apiv3/components/examples/status_collection.yml +++ b/docs/api/apiv3/components/examples/status_collection.yml @@ -1,72 +1,89 @@ -# Example: Status collection ---- +description: |- + A standard, unpaginated collection of status. value: + _type: Collection + count: 6 + total: 6 _embedded: elements: - - _links: - self: - href: "/api/v3/statuses/1" - _type: Status - defaultDoneRatio: 0 + - _type: Status id: 1 + name: New isClosed: false + color: '#3997AD' isDefault: true - name: New + isReadonly: false + excludedFromTotals: false + defaultDoneRatio: 0 position: 1 - - _links: + _links: self: - href: "/api/v3/statuses/3" - _type: Status - defaultDoneRatio: 75 + href: '/api/v3/statuses/1' + - _type: Status id: 3 + name: Resolved isClosed: false + color: '#93D2AE' isDefault: false isReadonly: false - name: Resolved + excludedFromTotals: false + defaultDoneRatio: 75 position: 3 - - _links: + _links: self: - href: "/api/v3/statuses/4" - _type: Status - defaultDoneRatio: 25 + href: '/api/v3/statuses/3' + - _type: Status id: 4 + name: Feedback isClosed: false + color: '#A96FFE' isDefault: false - name: Feedback + isReadonly: false + excludedFromTotals: false + defaultDoneRatio: 25 position: 4 - - _links: + _links: self: - href: "/api/v3/statuses/5" - _type: Status - defaultDoneRatio: 100 + href: '/api/v3/statuses/4' + - _type: Status id: 5 + name: Closed isClosed: true + color: '#DF6DA1' isDefault: false - name: Closed + isReadonly: false + excludedFromTotals: false + defaultDoneRatio: 100 position: 5 - - _links: + _links: self: - href: "/api/v3/statuses/6" - _type: Status - defaultDoneRatio: 100 + href: '/api/v3/statuses/5' + - _type: Status id: 6 + name: Rejected isClosed: true + color: '#D32937' isDefault: false - name: Rejected + isReadonly: true + excludedFromTotals: true + defaultDoneRatio: 100 position: 6 - - _links: + _links: self: - href: "/api/v3/statuses/2" - _type: Status - defaultDoneRatio: 50 + href: '/api/v3/statuses/6' + - _type: Status id: 2 + name: In Progress isClosed: false + color: '#3852C6' isDefault: false - name: In Progress + isReadonly: false + excludedFromTotals: false + defaultDoneRatio: 50 position: 3 + _links: + self: + href: '/api/v3/statuses/2' _links: self: - href: "/api/v3/statuses" - _type: Collection - count: 6 - total: 6 + href: '/api/v3/statuses' diff --git a/docs/api/apiv3/components/examples/status_response.yml b/docs/api/apiv3/components/examples/status_response.yml new file mode 100644 index 000000000000..7a132dd9bf1f --- /dev/null +++ b/docs/api/apiv3/components/examples/status_response.yml @@ -0,0 +1,16 @@ +description: A standard status resource response. +value: + _type: Status + id: 13 + name: Waiting for Darth-approval + isClosed: false + color: '#FE005D' + isDefault: false + isReadonly: false + excludedFromTotals: false + defaultDoneRatio: 66 + position: 4 + _links: + self: + href: '/api/v3/statuses/13' + title: Waiting for Darth-approval diff --git a/docs/api/apiv3/components/schemas/status_collection_model.yml b/docs/api/apiv3/components/schemas/status_collection_model.yml index f4031bf22c1f..ee670be3528c 100644 --- a/docs/api/apiv3/components/schemas/status_collection_model.yml +++ b/docs/api/apiv3/components/schemas/status_collection_model.yml @@ -4,21 +4,8 @@ allOf: - $ref: './collection_model.yml' - type: object required: - - _links - _embedded properties: - _links: - type: object - required: - - self - properties: - self: - allOf: - - $ref: './link.yml' - - description: |- - This file links collection - - **Resource**: StatusCollectionModel _embedded: type: object required: diff --git a/docs/api/apiv3/components/schemas/status_model.yml b/docs/api/apiv3/components/schemas/status_model.yml index da3f9113e6fd..e17ae6384235 100644 --- a/docs/api/apiv3/components/schemas/status_model.yml +++ b/docs/api/apiv3/components/schemas/status_model.yml @@ -9,52 +9,45 @@ properties: id: type: integer description: Status id - readOnly: true minimum: 1 name: type: string description: Status name - readOnly: true - position: - type: integer - description: Sort index of the status - readOnly: true - isDefault: - type: boolean - readOnly: true isClosed: type: boolean - description: are tickets of this status considered closed? - readOnly: true + description: Indicates, whether work package of this status are considered closed + color: + type: string + format: hex-code + description: The color of the status + isDefault: + type: boolean + description: True, if this status is the default status for new work packages isReadonly: type: boolean - description: are tickets of this status read only? - readOnly: true + description: Indicates, whether work package of this status are readonly + excludedFromTotals: + type: boolean + description: |- + Indicates, whether work package of this status are excluded from totals of `Work`, `Remaining work`, and + `% Complete` in a hierarchy. defaultDoneRatio: type: integer description: The percentageDone being applied when changing to this status + minimum: 0 maximum: 100 + position: + type: integer + description: Sort index of the status _links: type: object required: - - self + - self properties: self: allOf: - - "$ref": "./link.yml" - - description: |- - This status - - **Resource**: Status - readOnly: true -example: - _links: - self: - href: "/api/v3/statuses/1" - _type: Status - id: 1 - name: New - position: 1 - isDefault: true - isClosed: false - defaultDoneRatio: 0 + - $ref: './link.yml' + - description: |- + This status + + **Resource**: Status diff --git a/docs/api/apiv3/openapi-spec.yml b/docs/api/apiv3/openapi-spec.yml index c9ffc28257e3..9175c3f08b8b 100644 --- a/docs/api/apiv3/openapi-spec.yml +++ b/docs/api/apiv3/openapi-spec.yml @@ -527,6 +527,10 @@ components: $ref: "./components/examples/relation_response.yml" RelationUpdateRequest: $ref: "./components/examples/relation_update_request.yml" + StatusCollection: + $ref: "./components/examples/status_collection.yml" + StatusResponse: + $ref: "./components/examples/status_response.yml" StorageNextcloudResponse: $ref: "./components/examples/storage-nextcloud-response.yml" StorageNextcloudResponseForCreation: @@ -537,16 +541,14 @@ components: $ref: "./components/examples/storage-one-drive-incomplete-response.yml" StorageOneDriveResponse: $ref: "./components/examples/storage-one-drive-response.yml" + StoragesSimpleCollectionModel: + $ref: "./components/examples/storages-simple-collection-response.yml" QueriesModel: $ref: "./components/examples/queries.yml" QueryModel: $ref: "./components/examples/query.yml" QuerySchemaModel: $ref: "./components/examples/query_schema.yml" - StatusCollection: - $ref: "./components/examples/status_collection.yml" - StoragesSimpleCollectionModel: - $ref: "./components/examples/storages-simple-collection-response.yml" UserResponse: $ref: "./components/examples/user-response.yml" ValuesPropertyStartDateSchema: diff --git a/docs/api/apiv3/paths/status.yml b/docs/api/apiv3/paths/status.yml index b20d4d852b34..5edf3a96530f 100644 --- a/docs/api/apiv3/paths/status.yml +++ b/docs/api/apiv3/paths/status.yml @@ -1,53 +1,54 @@ # /api/v3/statuses/{id} --- get: + summary: Get a work package status + operationId: get_status + tags: + - Statuses + description: |- + Returns a work package status by its unique identifier. parameters: - - description: Status id - example: '1' - in: path - name: id - required: true - schema: - type: integer + - name: id + description: Status id + in: path + required: true + schema: + type: integer + example: '1' responses: '200': + description: OK content: application/hal+json: examples: response: - value: - _links: - self: - href: "/api/v3/statuses/1" - _type: Status - defaultDoneRatio: 0 - id: 1 - isClosed: false - isDefault: true - name: New - position: 1 + $ref: '../components/examples/status_response.yml' schema: - "$ref": "../components/schemas/status_model.yml" - description: OK - headers: {} + $ref: '../components/schemas/status_model.yml' '403': + description: |- + Returned if the client does not have sufficient permissions. + + **Required permission:** view work package (on any project) content: application/hal+json: schema: - $ref: "../components/schemas/error_response.yml" + $ref: '../components/schemas/error_response.yml' examples: response: value: _type: Error errorIdentifier: urn:openproject-org:api:v3:errors:MissingPermission message: You are not allowed to see this status. - description: |- - Returned if the client does not have sufficient permissions. - - **Required permission:** view work package (on any project) - headers: {} - tags: - - Statuses - description: '' - operationId: View_Status - summary: View Status + '404': + description: Returned if the status does not exist. + content: + application/hal+json: + schema: + $ref: '../components/schemas/error_response.yml' + examples: + response: + value: + _type: Error + errorIdentifier: urn:openproject-org:api:v3:errors:NotFound + message: The requested resource could not be found. diff --git a/docs/api/apiv3/paths/statuses.yml b/docs/api/apiv3/paths/statuses.yml index 557b4a7c987f..8468298e75b3 100644 --- a/docs/api/apiv3/paths/statuses.yml +++ b/docs/api/apiv3/paths/statuses.yml @@ -1,35 +1,33 @@ # /api/v3/statuses --- get: + summary: List the collection of all status + operationId: list_status + tags: + - Statuses + description: Returns a collection of all work package status. responses: '200': + description: OK content: application/hal+json: examples: 'simple status collection': - $ref: "../components/examples/status_collection.yml" + $ref: '../components/examples/status_collection.yml' schema: - "$ref": "../components/schemas/status_collection_model.yml" - description: OK - headers: {} + $ref: '../components/schemas/status_collection_model.yml' '403': + description: |- + Returned if the client does not have sufficient permissions. + + **Required permission:** view work package (on any project) content: application/hal+json: schema: - $ref: "../components/schemas/error_response.yml" + $ref: '../components/schemas/error_response.yml' examples: response: value: _type: Error errorIdentifier: urn:openproject-org:api:v3:errors:MissingPermission message: You are not allowed to see the statuses. - description: |- - Returned if the client does not have sufficient permissions. - - **Required permission:** view work package (on any project) - headers: {} - tags: - - Statuses - description: '' - operationId: List_all_Statuses - summary: List all Statuses From 84f4b108777af71cb0b95a03f4631ea3a576e7b6 Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Mon, 2 Sep 2024 15:11:29 +0300 Subject: [PATCH 051/147] fix[Op#57599]: Disable turbo in project links by default --- lib/open_project/object_linking.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/open_project/object_linking.rb b/lib/open_project/object_linking.rb index d30875dca950..02388863410b 100644 --- a/lib/open_project/object_linking.rb +++ b/lib/open_project/object_linking.rb @@ -111,14 +111,20 @@ def link_to_message(message, options = {}, html_options = nil) end # Generates a link to a project if active + # + # *NB* By default, the link is NOT turbo-enabled. + # The default behaviour is to navigate OUT of the enclosing turbo frame. + # # Examples: # # link_to_project(project) # => link to the specified project overview # link_to_project(project, {only_path: false}, class: "project") # => 3rd arg adds html options # link_to_project(project, {}, class: "project") # => html options with default url (project overview) # - def link_to_project(project, options = {}, html_options = nil, show_icon = false) + def link_to_project(project, options = {}, html_options = {}, show_icon = false) project_name = project_link_name(project, show_icon) + html_options[:data] ||= {} + html_options[:data][:turbo] ||= false if project.active? link_to(project_name, project_path_or_url(project, options), html_options) From 558a33578d5f43179004b8f8dc2ef012da998c16 Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Mon, 2 Sep 2024 15:14:39 +0300 Subject: [PATCH 052/147] chore[Op#57599]: No need to override base table component As of https://github.com/opf/openproject/pull/16246 the project list is "turbofied" by default --- .../table_component.html.erb | 32 ------------------- .../projects/table_component.html.erb | 32 ------------------- 2 files changed, 64 deletions(-) delete mode 100644 app/components/settings/project_custom_fields/project_custom_field_mapping/table_component.html.erb delete mode 100644 modules/storages/app/components/storages/project_storages/projects/table_component.html.erb diff --git a/app/components/settings/project_custom_fields/project_custom_field_mapping/table_component.html.erb b/app/components/settings/project_custom_fields/project_custom_field_mapping/table_component.html.erb deleted file mode 100644 index 3488dfd23538..000000000000 --- a/app/components/settings/project_custom_fields/project_custom_field_mapping/table_component.html.erb +++ /dev/null @@ -1,32 +0,0 @@ -<%#-- copyright -OpenProject is an open source project management software. -Copyright (C) the OpenProject GmbH - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License version 3. - -OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: -Copyright (C) 2006-2013 Jean-Philippe Lang -Copyright (C) 2010-2013 the ChiliProject Team - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -See COPYRIGHT and LICENSE files for more details. - -++#%> - -<%= component_wrapper(tag: "div", data: { turbo: true }) do %> - <%= render_parent %> -<% end %> diff --git a/modules/storages/app/components/storages/project_storages/projects/table_component.html.erb b/modules/storages/app/components/storages/project_storages/projects/table_component.html.erb deleted file mode 100644 index 3488dfd23538..000000000000 --- a/modules/storages/app/components/storages/project_storages/projects/table_component.html.erb +++ /dev/null @@ -1,32 +0,0 @@ -<%#-- copyright -OpenProject is an open source project management software. -Copyright (C) the OpenProject GmbH - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License version 3. - -OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: -Copyright (C) 2006-2013 Jean-Philippe Lang -Copyright (C) 2010-2013 the ChiliProject Team - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -See COPYRIGHT and LICENSE files for more details. - -++#%> - -<%= component_wrapper(tag: "div", data: { turbo: true }) do %> - <%= render_parent %> -<% end %> From 69f9a9574e02b1337d8a891a0d49b561ce64055e Mon Sep 17 00:00:00 2001 From: Aaron Contreras Date: Mon, 2 Sep 2024 08:42:06 -0500 Subject: [PATCH 053/147] Add spacing between title and icons for auth providers Missing styling for the registration form due to ID selector specificity. --- app/views/account/_auth_providers.html.erb | 7 ++++--- app/views/account/_register.html.erb | 16 +++------------- .../src/global_styles/content/_accounts.sass | 4 ++++ 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/app/views/account/_auth_providers.html.erb b/app/views/account/_auth_providers.html.erb index a828b896617b..6e908b424044 100644 --- a/app/views/account/_auth_providers.html.erb +++ b/app/views/account/_auth_providers.html.erb @@ -26,7 +26,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. See COPYRIGHT and LICENSE files for more details. ++#%> - <% # Remove this ugly hack when creating an authentication plugin. # @@ -44,9 +43,11 @@ wclass = local_assigns[:wide] ? 'wide' : '' <% if auth_provider_html.strip != '' %>

@@ -23,10 +21,8 @@ [(ngModel)]="displayMode" value="hierarchy" name="display_mode_switch"> - - &ngsp; + - &ngsp; @@ -40,10 +36,8 @@ [(ngModel)]="displayMode" value="grouped" name="display_mode_switch"> - - &ngsp; + - &ngsp;

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�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�}M>H}vlFn95hP5(jDib!NM=!4D4Ng64+6wi{u%Pqs2B`Y`)dtZ`6u%zMD)!312FZk17y;_EFhCkKgjzz%e1`PyCItK|54Rl zcvLj+%!@vc4S*Cv{&R~zFF9Sr4&0yP+f-mpX-reV-RN)4Y7+Szk#Ud{J)0#;n#Z{mRblT%n^@5y(cSNeB|jO8+8ip_gD9dzM0fQHSU+o;=8mNsjv>8^8Fh9;0JB` z$CFC`1&sAzLA!eQgIxmX9^c6Uf5+UKH`7$;G~q_w{)SV4GAdKCz4!?0ZO>1XwpR1H zE0&UM^ZV|`QxbpBqd-tTT|#Hp3EBxHdXJpF;Uz~_nIV0YCAng$YD$KqS_4!ta$MJq zX$9B3e~NsqY`$D}UK4ctd2 z(M=piuM`c#DPB@olHIHzFD~jrg@hAzTtg&_?kI=xQu|IYi`^06D&C1hybU#o9a$bjuqdMk$Nk~ zkm)Z`e0HbI8V-H)@C1IadyH9$#&B&0b@!1cp5$!n{Ahh@&0uC|Qq1h!9{n$QM3Z<7q-S{50d`v+A(4 zzO09INX3abA@g8x*MZBVX<4`@85Q!&Yu~3-3}R6$(?BNRiFE;ot^=c*Q3AoJKY01+ zB&c~{!P4Fp?B7_^(Y;2fyGo%so1(?8*%iv10yZMkoo}EY$1me@rn{y98V7h(GI8We z735H+1E|k^?T{&3aE|6!7!qb_@NT*9tM7nRWBF4OWgiO92keS1abSj9kcrK&l9un5 z_dRD#*S|@D?;J75r$L<$K+hK_FydG{(P{&aY_P>7v^l}WKB?XfsXz?xo9834{SkX~ zI$q*D``J`Jwv_&0ItwI8*OoY3_3FR9q63E6U3p~!sm+a_&};ivwf85IOxv|QXXQQm zft5jSrTCGs5xCN?Q9iqJ`Q5rB?Z(bg*?DAD#1bi!lCt zbP#HoB{7o`o+C`%gN9GJ()vdd4Oe3y=r~5Yj3YVOs6iuHxcY^?t#d0aADWUuyRBfy za!^f6x1Z?OuAn&GYu+Vq8uWL7ItR$T!$?4|m*f~SfgKWKBf4E)(sKT+4~+{>e`t8o zm}&x+U8-uK4`hD$%TKMpYkvvp9)GBdxGKxQZgd?q2~sY30wZS zR+(jo6+UJ~|Gs8xd=n(wJqwAv^F?oRcseg+{A1{fFR5Aj^C@8)#M*Ec>?{(2asx$lmLb1*&N zb$WacazVehwA| zDW$fg0o*XaY4ks97f1l~S>*jglk=o*vVPK0O8@haPMEiZ?dMdS{_?T( zFY~i>AMSJhVQ`0l^(EBv`GC#l6w6Ojav%Zl?IEe>oSSo4w|iXr7sC!OOromaenh$7 z;4sb;m#LZ3FTqqPE)AthWYh!6vV%D4vH1dJuI_BSq=Ft@+=eO>qSv%rRr$zx zDLk)7LBO#&5FXL8ljY6_VgK$wKOp#3l06lAR3mumCs_kp?(&j*DMk+dVM+nZfyj7q zKV$jzIz9k_iU5r<*1Es?t`<&Tl4O6crPfW;sEv~8nhEHiVL8AGGJpyZ(v;)zLaJ|AM0rn_>a0(~|5V_qzA<5o- z3j$HUEm3g}$D&+L<_U{mL^9%or)8RSxg<|B@Hi}Dw=8#C;IZ+0( z{(khw6wh&3{qG-cg3qzXD;7EJcfV?Zg@ExQ*9ElJBLj!x=Jlk@SWDUm~HTV=C!RTyZb7?i^s zH&J`KQHXb}CeD08NdaoTWd0hlxOf6Cyhn;y|I^i=mo6EsvmHvA*606|RNiLKEJqoT6m(ihLN%-u9j zjCa3@E2zF_xxO`^v4jge;%>W#=QUEoi2l)Qb1<*|!V9=+0b-6gB#4N56e z#rZdhw_GZ4Boyw+FAnfPEoeB1J@unfv=e)F^r^LaZG&!eec6&tZ5qS@#PGyXbtFNgUqLp9aG@sw!O5nHnjnx|5(R%3+bll50 zD$TbGQ=9ycO0dr4hKE2ThBZHT&TYfAjPB0Y50 z7vZyB26$e7{k|_#YyAYb;f^o3tty*KzKj1szWt(}l!B8JDgimMoCMGyUDh=YB#85a zZH}*mHqd$I2KvSfE_ZK+5RMzA~T}#`*SKnw_Xhd zfUzVYud`N}5c>y`s7ttVt0j?(cvr#sO;+(8Jbxb){raa>a_#68{u|wECNt_ZK;ku)_VAaOJwavttQ&&e^y-$G8iPI}j8=pxx&7@CFKXs^ z?Io`d2|}Ll`1cWn)>-Qb!V zyPzv3ohb(N$s6@5d4Fmvp2Pv!V7Tc_lEo4Cy%na~a4wezpJ*8l*|=Cl4WDr`??X;j z-nW2NS-f#hYFfeW7KT&cy?zbi>KkDo?HQRx{5@3pbLh8}<%MVSSv^zx9nr6P0&YhG zH%SemC|dqx^LIFMYmXi%`uZf|u8k(%WKo*6_3E-XeQx`Hp3aM7ZV9j60o7m*pQDz2 zDKfUg^hBh9T#I>^_Rd?Rd7_2YxghZb3FdG0lyYS#5ZZr4{BKqAqi$_(S~CT?i8ZK5ubm=^*86`0TBEfukYDI8B94wK7Xo7D4HJZQu-J z2kwA=enXBG0}GKD^!(PZ#6V7ESDy~%>c~(`vT2JbbobYH2uG$T7Dp8|#RwP9^ z%c`W?lGNuLd)AjUwFq!da_&UzH~p$2!{7y~14CH)5?rB^zDGolX7F@eU}ZUZM=6dz zC{OgI)w;!|%qPJ`u$?#AwhZ?07Di~ zm);BTAW{K-51^6Jf6Sv+1|5JGKWHGqQT=rj77XXItKv4fwAl{6H+5$T6n~k*lEP_h zjTm5eOQ)hUQT8HP<<1Y0lIml~x68*CiembNH-P`3E6`m`|6yF?18>wJ*LO}8fqWc2Lje>c6My4cfvZ~-ZwuO`KB}l!hqS2bt zq+Ap7+1)sPUJ2~3D-nBfW;k-y2t#X5i%i-Q_oF2L>b6jG;|E^eP-OxHEd&RID*@z6 zghA^c?2vz59X%rT+OP@1vhePtesA+oQ1l$x{{1IwaLog5x^(bE$D9HEa_-e}o?lj< zU5We8ffSr6^C9K?07P8uAN{batUH{isJ10dgJ93`40=-bJoue~hW%z{)T#^b@T)nC zo)u3XU#Qo{g9Rx}A5uH(BDm9ehEG1$W?!F@koLlph8kOK28SGrzaFL#k6qon|rhx zNtPmoZaY3Z3)EZ9od_~FshUhZJF~5#fyhboDLbtGC6?xg1Yp0neE}%!6#VT6`i3vY z4~FF>?SrP0J>WWSWEyv7Li~rE!>?OSblqwb+SGwNm7gUbo4QjJ=e^44{ z_p*MkUQ-<<4oh@7w>KoZw^5`C08%FC!4>E^bQvAkB}gG@#_Gji{k<}M_+t@v$wMt! z)SOfqK-!G_SN9Zdz4zW?MM>1;W=DxBeFD**J~i4q@udIkB$OV@Xg+hM2h^w=dNpHq zUm(ZkRCUKx*P+X!wR}cJxdtQz076uf98*Z*IA2`o4WQS()aUCqe2c4c0}ZbJ_ySpJ z2X_;Uv(tsxDMHL1d~!-UAy&- zUwWGk|DE#yH0RU>bt;BOe_zaiswQtH;N-2?yPWn{s0*L>*R?7DU{tDQaC_M z8z^K8*Zj;~?}GTif%)wTzs@naumbkmX_+4~@s|=}hKZNf#eB7}1xtNOeoCLa8!u8b z%vda1%iY(YYqf&WjxP!1a1C)E=1GjTtw6#BkDi`IEJ6S!pr{ z%pL}*vTDX>e{0d+_c=KYN0g_lj&LYE_xI0#$bhD+l|p5YlVIkH0~(CVf6ly1cKl@I z9akzh)_8`%Q|Tde@g`_M z>OS+bXpzuj=dJoOC=pzvphTF2>cgnB>MQ6QY!1RjJVa2%*WW7!c&V_2Pj?p~BgJuL zkg`X*p2HvG20d!B=1fD|`<{H;v$fq`f7E$}P7xCoQ4oZ*-DtZel?1^?yME zk|I%U8ih;vn@MUdx@#{BhVkp)%*T42A+--y7)aNImh?)yG9zLfx~PNJ*yu9WNsuqp znjVeh%1T|K450Nvn<$pLL(ASb0BC5msv_T#Hjto+z4(ecHnw zACudK=x3K?MF%A*A@pX1fw;=rqfrwh8jBl?RmxhY)8M%P-wO*$2fZ^lN#UXVH9vPo}$GGaByj&<$qDI%LLMYeh9}r0YkWYHk13&-%ShW*>B(m9u zq=E;=el+l96hm{3AUUYvLqQ%Nvtl@Pe~^2RzXz|HZZsCXOGBC~&;InOE@ACpLX$-h zLjrcGCL>8anh~eP(-Im0U#Gk%-kmZWzv&wurr$PVNNVL!@;U{nd-b7eV|PEd8skl$ z+}+S1S5p5uV53iVZECFM-vVON^(k|Atb923?8%(Rs&C)VqYttXd~o z5G6q2PE8&&G?VWMj*FZedq_D6+&i??xImfZP=yv#vymx3-^ueYsJl(_rHy~~Ius-+ z<_p8t@Ks)s7EURQK_$$^QT^~i`R}wY%eSg5+MW{0F1>Wg2f}fGfFrnBx^D#4=Q=w(=alq;{k1q9_ch;?Xq!(g8<~jBDhLIT6>QR*2tG z{1?@v zx)wQh-dgSB5cYLpXli7zQ&t}h7#5Sy9JzUixRCvIAO|WnaAZ@ngAuyt+?gCoq5_#} z?RQ;%qL_**(26tBk&!L)3L)8rY>aOJ$Bh#p%58ld zE2~n{6J!KTdAuLXra@PIwM&0=2(f$_sIP1GUUZG*N5Oak!p>RvJ)O#$QdV8>!=k|Q z9I{FIR^r8pOls5@=a2R{#OTmz`}gA)@au!kv@I9`6<{4X{of}aslX~3ziu?o4eQ%n zEx{26^ug6ceRb;S?K|45KBJgV)?gyfz?5B@-mh3A4d^gV48U~Lei>T?IX&a1vxDns z6bOXndmR{gaj7!#7wb<}mi&tJTC@RUHxF*V{DBniWyfDW;Q~}AH5IdUi!2|M{KfVy zEG#_y@@ob?tz`fm`Exp1#=`%0C5dmgFB5=uT|H`&o>i4@O>M+M_u^y^9)56ct@~7( z0-U0glec2O>wwjKI%S}X>xnQzgo{s~EGcFbe&V9jnuHvBN!hxoi^B(Rs9Uw$XXd^5 z@paBc)DwnJOA5d0}r z01YeyBq2ua9nT_d?KwM&tI!iX!=ke^GXxI+=<8qOY9PdbGdV6~N-hPuw-gpu%gpU2 zfpVamR9&e3vvu34iOzumO--xL{jBe<2i+&zv(05Z&XOBlGJX+$RH=)sz|rcevl1ww zxx{D6ZZaqvfb{$!xb32G3U?664V(+XB#6@q;FaksvPfX!gRgJgHNtiG777b6Tr0ur z67JbAtW7zKhzrqTaV0T7Y;|Mcga_JLGkvjmZA#$D!+yV1bZ7>A+f#>|@O<}Ms+ z!9j-$EMu&nNbSy(+(@Sa$rXck=edPFFCWe;m~REi@BKbaZ5@xg{D5x_PY!BlzYiey zoX9ZSm*+y`sH)EPPnkPJdviHBho;*&Czf}9NWy|f9OZ+?PEO38EG8Syi}-!VKU7u7 z+aIiRGpVQwiHd#xGa#He4P}9I3$?~CwFN|EqQUYHhb>l5w?BnwUpBFYoGnBV;_uP3 zK|)*x;m7a2x8rN)FVFr=N1vDME7Q=MJ~1%~sMY(?rjQ7$;vGmzN5PoW4`#vsx%Xo9b z=O1HCZ+I%m-EZbzPy-PaVA`0)gI#ie+g5E5VI~4A=DO^2;OQw!H)g|NVz%?R=8`Pn z2e_>VNk&hNjs>=f6Ok65fsBd9E~~QyIwIzWH*Q6=h>{R=-Q$KR5!_XSyT&AP+Ah;Y zS#sS?&#C<|eatuJL;E0$ig$P&3nkURkh64#y*`C%SFiZLIZ@-& z);My;W&5fPCjCqeFCNvLPR}>$kG=A>B0ax9PIki%IyO-O_0?PZcvv#RP~elnCHHP zeGQRIAJRh$+*tXoIelR-r+#fq`Jb&|SM?eEwn>=0n^T_OUrU%pyS`lXvLv;UA-{?5 z9lE_j=FIrjimLSHnXKHV;E8MzZ<>f6m={i~aVOwZ;6NIK5Bh_hpf`eceC<>0M((2N;FGt9u{tb(;qvIs zXiNO8dr`fN)b>jseE#l(e&v0I#m9y(-}vSQ&kp!qr3r!0S#bgeg}70f2kVnR%7R)( z21*R}i|U!x+uQ0F3Ounj1dvJxAEvAzyIH+?m>YhTX*0V4OU`gShrKW_+3ZK#HvF}Ot zWEC8C3XaypCK*n1&95U<#vd%sf8ihb_*25u4NuF?`G{((VNyAvlGfX@;)8iBmX2AT zNRt>dN$Dk)Ju`46j#o8&cz$LtmAwqQ>dUo-b+WzvHZSWCBTqYnHK#p>+jZiD-j1oS z0~*WbWa~3VYvtQwGH*&6)Nf6rgg5V>STP!Gs_4rLtaqmDN7w;8m?-`9O?y}3GWMqQ z!GhO>WLHP*Z7$UKuRNTS5-zj2MW(VXogAMHb-O@8HGZh!$df^JGih$gO*2*jtk$BR z>bi+>)$YOj$EV2+r4ues`0;(8@evdZ^hn(d+H`$yHTY*>JWInzNKhQ*fQKy{Nq@i{ zYhku0RHV;(PJ%?{#3Ic-iHR_++3JcXOw$C;ev_NV)%iUUc-YvXy6mT);$f`=q}m&Y zUmRwB!3>68G!``Pua5^jtodXP(>dIjI`AVSW>_0}fFNRVI3RdQ zdiCk>|Bs)>b8(u}{x04Efsmasfy~oDh_H>b2rR$fK6il!0#)N)USJh3Z=wh>Z+E(p z7YEqW!|gc`2$X^ZVmOaGG~o~sNDv0Zfvcc^^FXZ}C^O27_8B=9E%s;}kV!$c8b@^E zS3asu>zXv~YFv(zazVYqLBiJ17g0ON94n$PT{Dhy{R`x+zA>s#a7aNkI51^y;ZP`u zC^VjvIu)os02m;9{lZkCk?1?9~dE%USV&A;)_uYG|e)sR&Ri{op zU0wb3(^z}$wRcA?wVl6w z!KVD@2PUIJarIdV=By$m`lWV?@Z|FW(p==5$d@k-@d&TRP+wqsAZ5fw)I7k>Hld6N zm%BNx8e>e%>KVo-CKR#>*^lI&QIxEX-h1Vp|gsOCE3_UNmfnFEK3$y z{hg(ZR?}=o(`;9HdfiOVFJ`v%Ys@aPpA04bl79^q7XP1x9a0t*?SB>|v|y?K*-)JQ zJ0j8lY=}0Sz~b@$v=kQ`-uZu8q9Nh^|LF85{{Mb`9tM2q0$!ntXq~c1mEgNqwG!+V zOwiRM_!YG1+#70GuvVEywQ5zE^vr@;?cK}SOt)@N2+{{J>EoQ8_kiKIzJX8X0r%*6#(!9v9ovask&?z#jSY;odZ zIzB6T#$+v7b=!EvASOb#fk|7(hK+EO#4N~&5A;GhBO;c?=eq`O$r6@Z1rJ>STJq;Z zDMU4>PVN{1=^?b*EU4NpYEqo+mP^tjU$ zq|+dbPT@gHTi+o*muFU*;=Tb%>?ZgjAGY zDMsDg#b0Az5x~~AYUrdC{(ju`%{6G~1)bRJw|i|~2z^PU`rimH{ebQ7B?QA!yTeLcIIPx-7*y zE$koe_8Boyrb#>LyaCp0XEe4=eW2Svq{R~+Y`=E<9f$VSiY2qI8o3^fG_?_!tO{y% znNgGIr6YmkbUGadjjt}!YJn=G5?MJOP;8@n96t@ezV$nE1qM(9|iC)M`2v5L%3`h0$M$6AM#% z@`H!~;C2E*OyofZfX`uk7A8rn67*F#w8#F!**`L{>A_TmyRpYJiS~v4^6o-0us*lh zgJ|i!FDZj#W4@iIZn#KI!6P?zTw{Y!k<#1)|P|De!?Gvf=ZaEcV$>*rlUbSzW}%%P5$B(b_kNl&Fwwltayi7AHMJ z_9N*~NaCZ}F3Ad=7WbOdRn!T?`IC@n3S78&&VF|-su+MP<8qKe6!GUR4M0ymho1O_ zp9mCm4J|5QhEDzC3_1{=2Wv!l8OU~`EWQctBQKoBkdQ_uu-whckG2ft?T1fYg)V_5 zvGke4>0T(H^`(XK#fRMVdOTMt^D*bt&KeJkAo0`nk6hf~;{uH*@9cIew(an_^RI^9F07>h zcO|jfNYY>8P(_`G2Y+O;);Rfcb-XdHkr(?<5yk+PHSlO|4Sk@i-H(gx$TnsHvx7m? z!*cHGiMqseXJxlmS7O#E)N~8gI-v-aikcgGop^5nKDjLAxtYMrEoKS38||W97G1Bm zSOAlU&k^?*3R`KpGJ@$^p(v0BANbtM^~t*xdlTPRX=?LnWw&A%6Jf~BL2^FX%&WsV z*3T^&5g|==U*keYDJCWEqO_JzFvfnlJHv~}) zolV+39SYgKXdDSKIviAH;(G*|ioX}CS87A0eVfUeQV4Cu&2vx+<_81CYh@S|)ox`X z*nbnl0)&GQ&Sd`q5EbYvEx@OFWKB89;jSrs5h}ArxpwiNZ}atgvXWGGrQxDg z@yi>$awGFt*uKxT(}nT!%U@=y%|CN+O9c=gb0A`J;>&l^cCJ&obc|q)ysO_LLeR|V zMAgnLRkZxG%RkGpD8^#x(A9lB6LGv}`?W=LXT!aN04L^BLFEu~);LV(I!wF}4e?G? z^Z=p?aRhFZ{%!j{mBh}NjAceP9;0CbhX5b)bS+<0huesR;kjZ++%J8djT!tv@j9Iz z{~qy|1+5LVFx->vcvC*(+3e1%f4F5j_qXqS{bd({OcluR&BW$nKO98zbRe2n!A>uD zu383z{~ekI1%_B@h587utN4#BuV__d$h(ofo1#@v*f>UjK@F%VS9Cv zEwrst5fz9X-&FffhZ_l!DTJtLM!~X@-V4W%emZTB9Lz^Z+onGS?R!DI=%kgx}b?b)D|%e1)XXr9=p>W z1B;7Zc$=s*>SChkrjR&(6Z0vDgV$TV><#qGDl&`y_LN$~WT5ad8NmL(t0MT7U1fXp zESuZs=~n}8GJ4=Z^SQ?lXE^v`f8A=P#}^(yY+p(@cO^kP`=ru}R&Iy3H8K1p?7)+XpV;SOnCgh3 zH~=2z?xFnqKYOQV40KY_QJBUDR#K#&Bwn}Iy$`M?A>@YtCx zsS~N#9b;ZWLHw;Z*`;2?)Y^U%C@Jg){Q^RwPGBcKHf9kA~ z*Tq~+;3E?yHw64K&17?OcFoZ+8@*p?Y=4bm)wU4XCP5eph*L7KKyJIvv+W~KaJi?L zx?7Gr29mK%rY5U8-Yp>RQ-qCT)%(mfHLGOVGuZs@?4+ADbAPz06pxUNwk|6fr#zIP zq%KmRZ1wa^Myf(tGe#Yuv@d$OPQ(KjXu zeeLa2dpbE+Qpxtq%*~&5B%mFYW!{S#t@!iFZIyjt3gvnE>s=-s$8l3}155Uj58`@0 zyv+?YAIr0zg?^SJvou> z;h8MHb8zv*gPVu#y75Xz=zOrx{`wfJ{|WowG%d^{!t)A~Rn)?h8jUvXV>D{|CmVk; zQ}LiP<}lgt>cqDfVO$;mb#$U6Ayu_Xet1wTTm>Z=?#&w-grr!^%Z#Us39vQp2P|9) zaR(@*YudRtOq~?%I-F+Pc>Wx^(>VKTFUE|SkcU&U+M#wTbEJc+hXU# za5N6vIvMo#-J6)$dNF|&{+EAzF1bZ9>KoLqXx2x&BRm-*epgdF-cdj3IIuPmb0}vWH!A@68H%_M6S<% znMB~#zm#r>T9ENUN{mfU%oQ1!}7$*=!EO?Jh}7)zi|Boj)cVZF_IqM z-{VHD98;DjTXoe$Os|dTr=#)T8B=95K#%(XCSkRelzJ6XaCd;>tZy{J{P;Rqlh)?3 ziyI(5>KsjkiY0raS(VKpwkfu7EUEkp#UY={@~8cx*8Ji1^ud@Mo{OO=9c85Ksap1` zBP9dKk5rcQdA{paSh`roMbKxcMgd@}(zzZ6u1#Ewqs)Lcm>M#KEz^fKCuWmcY>sR>Ov|`+k zS$YRz5-A31hV-i7CV7Q)*!>Wx|5cZ0O{wm!0k zYtz2`Lv%1|eHDQio*@U!_(ZR>RFZ#(PzWRi=d8RyP1L9m6|wEq`)MI%8BGX_4$P}F zGbE>9bxRJ3!`bGzg~LOJa6+Aqy%%Mb>QHv(EzzhxJ4AG-2A!$j%?_ z(vOeym8+W?*zudiEBwwBbJah+AbOUEbnG$^%GEcFz~RI$Xc!2EwcMgFEta{78!8Wh z{XQ6GoY+*G&bhijqZ&U$tD-M!xoSdictklmFbowWLRe!j6}(8QNs;lMon1)4hw1G?AGL9IZ4n2 zFKDEHlkfX<=LU|8VcY5E-&8t3F5Y}RwLe9kecyD;x{*TA`{0nQ%pT^{z=F@jVd2h5{;kAwY2ktE(6XO62I!Gol z_{Zu2Bd20jn=l^|yeSL$w5hOM1gIsdM4e`oJ7T6~Fm}DzGLAa8OJQ)(`_X2+8^ZF% zL}uUeJc9(;o7;il`ZR?dm+Go>2c#1Z8clx&s&bwm)!~X{!aYni`G+oV`sliQIk$i3 zc{)1Ijc3X3N2iK^48M@jn6MaarDL57Hp0&^~l40sxd%gA!w@cG~P(e z*wI9ANAI5jEz^_V|$UB_!3ZEIrx0TTDoO}+rP=suYT ziNF%Wx1#>n4alyhipPE1kx?*;hVN)89X=*e{0muHn%}Ab-ebDOaX;!d0$1k?s#R!b zS5Nx=TT*tP?xad=uO65*5oQo6mK>HZhl;(5{C^c%Ae5>}5te1;`-=wie`z*r~?qQ1&t< z2CC3VNY#QH^cKFbp>`b0j$!=cFU`WG$cjry8T)t@yYOR0UdxybT8ddTuOt|*$5rYe zATO*LUqd;{z$1(lhI+RBNIB8^UEYkm?a_-Usm}TSa`CENR4&(z6PA3PyUCIoM!t*xR!ji=m`z+JsDTWYQc34WBmt-mj>?w|=G7-qCd|tzxLHX|FK|TqKY8 zjAXj1te+Gl8l$yCL$u|NE8l1^7cGk6`bjrh6|3`cv0 z#htWF?7(XS8uJ~$hJCn3Nq{II?!+`XVfm&_Jyt-XkgN{7Xl|F~>oTn8Ol3YXb|XR^ zkgRx##9oieZW1B9=og`)eR3R^<29NuW~0=|XljJumLVkyu^@>pciI$D^w%kc{uGNE z8n&2xQMih6CMoP`{PClM3_| zC_VIJQbYdeN5YqvjSo{^#_~rC#6Sx>aq&cL69(v#Q7kN+h;|M*`yA=GGfRZ{^S=iW z@}mPuujdx#!lF?VNyg^aH@EiEXb%w}1F^FZnBs}4x+RezD^g@n+IJe<(wCGsj09?( zl&77^)b{>9b%IM;EjGl0a=0KH6=Gko<31&~M(;eVoRnFr96~bmfplA%@)3Gn*;yl3 zxA6YB?s)@c*Ya|-NsaU_qH6;e^Z4QiY0B2v$GoA7upvjEBhzWc&t02$Yclj|0^2bU z$L13HQ~c?kcl;WFDG-fgO9!qR^a)l}-8%0Kk(E*=-n`icEBZZqf@}pBZgqAIz#728 z3IW(T$u$}d(>SoTuc2MBP;O3x(Llv3S zyI4_~QQ{Zmpaw=<;iquw)}KgYRDLaV+#7^qpZ~SHkDMBRul_(p@F0hmG^Klr3dVI0 zC?D>S9aJpMkeL=KhE-F(w#>3KV$u}entRkD&H z9eI?9gS{Zp+rb`@j%CYOJW>X_#_J@ysT=KAE=*V{3`~Kh6UZH5xdYm~-S9^H}Z(G>^SWigInx zJXZg**yPnjgp2gpk7{VMlc$isD(W5x z4VaA)_eCA@5<-s8*qQwaUs%!(HQm!nU_9l9iFnbpSyAEg2QM{l{jh8=D%&AM=15OR zr(5Y~a|H6d=nuJ(La_r6FMV2M*PZ^T*uD+Vy(^1qoX~FyCxhMCaI=zw77!NYw!=a~ ztML!A;ncH6UupY3dTJ%Si=YN(Cj=(YjJ4Pqk!0px+A8v)DBCdc8hl2@H-v^`N_Sbi znpzO^(pro9Hl4c)#J{^BX-sAZ5bGsI>3$_f(beT65^|zV6L`*M$zXAJBO=O74+|ZY z%uv%GiHV3C5nGlVn6n$IE(YgsuE2*98`U!qK4GEyK9uFyv_*H9x&p(Go!(ya`29|B zVgGc;!cxkw5yq+pPL6kg1sEq@Q8yB@QSKlvXMTMOtremQN~Wo_mx`VYzOGP~j$n>C z-cc@_C&bCJQplA+n~kE zLl7^|YUC?Iz6Q|Gu^rB4(ECa0s$xelB~&AZgJU_2HP4nXW8CMaw_?jf0I=2QdIl0z z-{~l`#|(KT?G<^iAF*ZQ@`Lkk`jwNLIBqs+4dxvdN}=)6eXSC)3`DVuk*CX%s}*!1 zrMbJPb!Gc+Tzf#6=w2QaJFWmbvg;`GDR~Avd?GL`QmA&_MWtvFs(w4XIKFF}JJ3Rp zkMXTdOInd5JH-McsYrbG!L%XKH5@c+=Wa>^Oa(5fuA2WY*utb%@IN#B@v!3L8=ijp zQ;#yO>KOD$SpH+$$Ac$yLF9O#N>{F-uB+Ld*2L4!P^nghA}o+kJ-i@8!-W;O3F@yK zJ+#hCgRHjL>&oraHkKVPb{$CnP@5uDysX+Hy_WLV?|;lujvTK%aeAora99yX@0Sl6 z*ZiLO=md>$=9BD**7-1Ky|ZFpxp;{6zv0%u$)M2pb{$`S>FMQ_3IhXGd~|F?iZ>7-rMRfY{K~<2i{fQ^FmDa;D4>S~!V2FCRQ-H$W$~4#mRTMHhihZeB|Ccf`db zKhaE=VplHV8Vw`G>+si9)%fOqgpuF+Tkh?vvu5VuhfHN3qZqeJd8Z>~qlb?k8$nzvQuEUKLiCgVojWM1703 ziwOb!d{egQRswyMXA~@1a_(FD_OGy)PQI)>3amxKMf8Hnz7G`K>?_rk94WkDL??ZRBp2%76JS*ijiGny z*{xHd-_yi^qWMkXbZsg3Jkf7P))%Qlc^HhI;GbPV72?`;cQ5QJ zK!VZjxRB!LO#Io5%VjoXDyxSltIKRcJIFjccb%tD(e_>J$&{MPRHq5~n-u)jgiJw^ zAR*wN&Fl988(Oed>Cb#yZs`AFJa% zaR13G8@~b-DLtk18|y?wR}6xm145lkmE24cTyirdAc96HlitcJSjx&7GN~>mc9GdGg!;K|;cjg+VWMi;rQTCg;c1pP*Ku&1jUV?_$MY z5%O+D2rE)eJ1kJG7sw4x26{myC|yS@cA?$fHz5sjmP{M1HEhe z@8I;~-8nV)YVN$RZ~HFbMq)YKHKvo541+}vNfzBVhGo*46AX$&>o!$Hrk%|sjt!uNrQ;_ast z`78b^(;Q2AD&zURJ%d$S-w*HwyRze@!d;m3lZD7>;2au0R>bqkGD3 zI#l`)B3}QMxL#_~`I!=Q7%P(!UUV9-YTwrX@ZlxE*!NCDZR@U62yb@004Dql|aT9MiQ>T%Wt> zc}Hsxgm>>E1Qb0^`1#`H;-o2JEFAUS$W+P|(~~3qOc#94e#~eBYKcB=%|Jy?%>pf} z`n`uu@MDXHox8=mwu^%A^5Zd5V?eqEnWG&)KU=0b`lzcwwol()LDC=voAe}m3)rvH z)zScY`l9yw2RAu(glT-JnnD0k*3qvXs;*WjCLP%w34zti1i7b^3?e71N*NUpT~#(n zs%?eR+6+NlyA^-*pzB!a6SRCH9L)#$tr(vwxv6WA@PyEqY9TxeC?7R2p=>6uQ^|5v z_X3uR|I?G_5%f!5K6v9C4Y-R!--{^DUe1l86%M9q_G?p(xIt|&|0_f zIuwfKPZYZ_9v_r{4jEsVYBRmJ>)u-ow_dfV#mop-R5JaG zKmN9R@7Q9bY#pQ=o5=Li~dam2V9IW zUXY&$%CO4}oha8LZ1||ZZx`Q&XDx8P+p6<3bX$fqYX(5fOyrBvE;fWy73PVc6@!)T zJ$jaL{3C50+`Sd<$EG(5jL1TR7SlAoNPc>&x3v@oHX84lrVZ)}2gE=*KkzF1(Kp0US1laF)Ap zDI<8c-P3rzU}9g9=>7QCz3c8db~Y-YqGo&_)|86gdzP4!5f!HmJdqY?xL`Nu(SMqK zcf|c$nB9TktDQF^GV-HNvF(K1NOgyb&r=1uXNUELcHlNcH+*k}7r{qk-A6n7r-Dpg zY)2nU(lV^ z&$|rH+HfuG^4u~>PQmZIiVNuf?unq1E7)?eB2B(q0{G^ecmMR**C5Tb8CvndkiPtK zwJCRSuiU-bZSZ}kbvrw5J-PaEvQDs1^_=KCh1AXx-p`esUKoN!)9V^*sqyn0u?pYk znhJ`yK&KYYos#&j87uQ0f<_axO?^t4khnD~`s?xZ2a|)Lt8je~p(f3XkX1yCCuZ+x zMr8Rs0~z1FwFj$P0QDQpb$_A|&{KCvM#dzRrmvLnDkAh>!P!Dd+=2WnCHiMr1{|FX zQ9m&Cf;k))8?h27JB-*x$O5^d%SU&WS5rb`iTe~f1+n{mjuv?&dn>@_N4_R#2voPL zsK{K^qn|lUoC3i8^m6k%A*o#STxK z+%dmsLg;H`^7>jfk)WqCJc|X%-pkq|R1xyyS5ItxAd2J{_Bs zTw*R>D0c%vxHL(WT!ERWK!pM#|2P?1+i(|THYOyd_#`8&R z72VqkW+QK$&E&h>(9=B6S2WhXoXC@p3~&$1WAoN~@M`1M04&=$Ln8!aLvQuVt3ttjEF9_a9ctwr`ow2=*i*?*K_Vghl% zR}moE<0I0`ZX1JVympcN{%pbTF^|a4N)P{@DQUyxE{c~Ga*CrM(V-no%|rInF%lBis5V|XE>I^c8P0`%%X2Y z`1U2=+h>BDzHpaM32qcZI<_iq=`?O|onmA_#ZkjEdY5B9p5O`F%h0K$J5Eu8mhP2Q z9maZ9vlgc}gWUv2KLb(v)TWLVostV0Wc;larOLN85%s^UcqPl`X@1l*afu2w8X`4n zV~cTNZis}z!~$KY4-{3XSKJMbr(pc=+IaWKWDL9MezZO+{-Kg3L9(vUt0^~wXX)?A z$aEft`YC8|^kfdV3AbE}Zce6>v23KAx=4nNIAi7SLNX#{D7l=9?tR24aehlt z#TAwjf1=Ya@_0QkFBgUJ@N@lI8eco21|V7|hr992m8Ql{f7ddGJ^~3OXa@f@TRM{$ zawI+uN3Cjc`4Yb0^#8}bvjPm5TN;&U;%X8hduCO0syS$XV z&6#&R%Fx41!!-4ONKp>N_PNUwC@89J@!VOX!SqjyH}4RW>fe6v!D#Q*iL$QE3|4<} z+d+M{&#O)&i#atgkn65#^<~{nD&U(7v947d*_EdEd#z&hDC@TV(p2e1|Nhtq_H^Wk z3+_#j>#Nw6RN>(w$&j=FmV!kzRQI0j?-&vXc|C-xc2E2Te#Q8%8KpkCI!p!tos%J8 zAtq%MpjWXCc6st&=gbBBGjp#tFE{d5E17@er>LL;TtQo3RQEwmxkZCaPV>Mv9AjK+ zPyxx>8PUF`^vIiSTrIpXcl@HIs6c84bo=l{4{7+wSHsb*O9~Z;3p&f;>Fu@Xu|oyK z1t(uVgaM??XVB=7Zz`94=|f=cw=-X;iN@%5DL^*Mn%v~svOa_`Fj;n2jc z7VWgE#92a&hnm-j{Ccm;MUST&-#ZT1Vf_qI zUYTRB%zrz)waNz7yw$`#rca1CD`E&k(sVaYY_muK7j>_0MA2|%n{P8~GJS8cikyXq ziy-Rtujv4;b(3@?XCL|kxwi}1XCRlXl-}0k!2wF6=*Z`%i%wfR=0|G<`U``;xi{HB z^7R10FC&}sK1IXrNX>EYDe#|;Z;Z~@!4gGRIodzk%+DiJ@lrDQY4NxenTsq(huq1U4o>_`3M zHt=ly)Pv+49Z)4Ld%=-WR}SKF(V?@}V$R+8vu5PbVkH+|s$J)0b@(_JnnrC?7kQs9 zXgIbUbzCKfSl;5Lc>53%ie!gbS8FZaP|n`fp9zZZ`dl!VC$^6xY%le{8n7f3$W2V= z(aP?36O@BvHXy&dOl$96_oD(x&lAA16bUn!`S5vUyiSlV#d8-}QkMimw7BXcuk=kipy zf*bRKjRW6sO(%rytk{ic`|$Hn6cB@_%y@kEZ{vnG9o=3JOMGkqPdKgj@K9>7&+JMd zh4)ENeOEvpuRH`|b6TYJ++|-gkha|3AGx>uE4~qwLQ@C+Gk}a`Uz2>FFZdGtKZzWI z^1Mh)Ss6jOvo+!{X*6~3ja>JIO|x{G1t-&AiXxD3LEP$GN_k{*=7jJk6?h8|y>E&| z+}Ik*`JH65GaUq2zV8Ge+g7DZ-&wO=Kl?0XzXI~PRY+H83`CIUrMR~%REMY&UoLkQ zVbrOg(yA}ijZy2jiK^q5t$$+EIcx@)=Ry(Qa#oI$8_I32R^ZqMEC`Jwn!D4NI3_<* zF)+|4GYD&hohuN4%D{{t@Zl@Ekqdk?hw9|?{R}XgZa7N?Gx=gBYM4}%<@xG#v-=NX zC39qSzozLn?FeZfewzs0&)BkIpj}uDsOH__@bV68YR38#fp`#rQmLCk!RLMxtaJqc zD*&V}!j{%{@&;_dImXL=VP%-kR!|^K!HFPn%iSgW8H8VL z+caK4-nVyUx*aB|wqHWV$P165%AS!@9$r-f-iJ$GdeWglk=0+~TswvOt8ilO>8lHl z?NvcrJ$k3EZTFEX!9z>o;TUX)%%#{bm)@f@eUtm|uZMk(SEHJ0kh4pA!Ty)@145j4 z0yURXw)zBTEv82ax2q=^cmVOyFj*h1t%o^hKEajs04!5-W^+-x`ujmvbl{&@1>vZ< zSPolR3hF_!$`_a1+1)@@b4ghf__?*zjO6N}S-_J=>(&0u?9ot95hG0|Ug+ovtp|4z z{ zf1Q?ysj#*nMvk=wzL-=o(2SS6Ih1TxwUcxa_0DWMjV>`kX}E!NwN%~EVVEi?27QFb zlI3sEVS7RpPk=u;^!w=tgJFVdNf02#h323 zd@2@m6No;Jff%Wiq0AO3Gjy(hG6e91GST=8WJ_^MdQcIq792cA9^#pmr;pTc` zwAXM{GKV|^F_Od$h{sCa)_ORc<_27^*0RfM`0mVfZ149J@U%-}8z9wSQB*~_7IqRh zBV&Et;oo*cT8Zhp!MwV0H)?u!5@C80bi912ie)=bQUl*{YUaerX3GQS&(GNsVo?A9 zH;-=Lc#fdCb~lu4FsQ;3jH6W*T>>>aiXZU<4@qy_e%D}4>%mI523MC7-mXfBWX?90 zCfXuUCbv2iK&`7kb6W9Sf3s$3rl_AcS6u7i!xec)u!N;dzvK$qr?aX+)Z7|y=+@Nd zaeJ1)S)T=y@MdFx=(T!_YT(Yw{x5F43VCz~^@`edz?`8A=>H zwsGUln+*cfusqBC>R_{Uvg_~t)G(Q4^4go=_O2&?&ce3Wtn~EaQ??C;1UX2L2!8`) zZUM1KD@9~R)Zm*@Y5=~!AaaOSx_8%UXneo66?=YpvT4M%ngrpIaB?S=mzdsZi6j19 zsKD)+C{`9jK;(a(fF%tp!x^bBRJltClB(e(th5dYLyQa|XmaXROkSj{@!oGq zAS=cdO&EzE2AngOhLL(ovXaG0)Vr9AV(MV@JDC(;8h*uZ7 z`&NvsoV=STIPhg;i#Ns3<+-18fMX)lA+4{7OWAt^!~!3cz|Dpfz$AH!94UX$E5jfJ!m^q@8ahf zt_8vxqmujOs)(zA6Lq`dr-5udE^~4`+S`!6Nsrj~3K2vr^0mT4vzQs>DP_xmQex&I zXJM%E_Q zJ1Vr%kc0W_cn#MU3%fFqAIJR>SrIT!QkV7bAwIT=APH9}0@cizI(p2|xH60ak%1xX zku-2QRIb1I>)BCElRCo8QH?VVd$Z!Zu^6SJ*mrTR|Vpx$k3j zY;!qE4J)0<8h0vE-YyvmpcJ8YHig^hh~-Rd>omhODGmvr$GhHKu!;iVqS#9VA-rTZlj0}*>mx;Epi*;*yMT$D zy2&5pgCP}*yw8bZqRQcL^*A9Xz-$=5O08zzF9Bt^8vgh zxgX!sU#$+duy0SyRGOCy`)@%T^sdxufgiH-%&ccc&dv9i(m-+=F`$7_H0&lbmy{)*@(Ke7%wI^3SX~ zE#6|l9XDh##=2KylRv#%&Gdc9k;Hgdx{yGKj7+1$UYp)4I~`)3U5%)5Co!3B(JUx2 zD=Vtgtc*;(E?^luAio<{CIG#_b`@JDil4;HQ|)sb&(A90$XpVko>~1QVSYx2novRV*!}Vf4Mq zvbkvUVmKv+`-Hp8;|eQ+PWI~UsH*s3DcTG1n`klE&ue2E%lg7aPN$Itc$(rKh7-0* zLYv293pUXGFbOctB1YTnw;K;baR}3L$V%uO@x+)0J4XjFp1{cO#9scfpF%z(k;b38 z3Q;y>?Yx}!ukcTXx3tvUXZuP;G*OETbUt%D{-|Lj&A1WuNFBtV)1mzkSdT|*Ahg%< zA_>Xt6$qz-$`X6KU)X%0w~VZOv6vhH#=)>9Y#I?#2=a zlWig1wPXcf6-HTs*p~c>b|`)Sx3_x8U;9=}?G97xxy`A!QK6k5+io3TA!!FYUF6?iRK=t#k( zB+8{6tG(hfIM=F2urO2);&R=>anx%#Pwt>Q!}U(dE~q7OnLkq(y~lOqnnPWp6Az~& z5KiGWWGZz#naJHdA)FS=7%EH^5ZiMxe+X+Qs~c1lb^-_axu(bZ2gd*I+&*7Fq(afy zw!zANxV1XUm33B$rrbV7q_0tbrA3FST$^cqOt$#AR(Y{zmu>GpWr&++GEgHyp9d9t zQkhHcCHty7VO8e3VN~U@&|wR;Sw{IR9`souxTUc79sV5y~^DG z)@A62M9vjIi1`r3@VaVpS4`iJL7YeC|Gf3Y`fHZWp8VxrQvVprHz-M+{ zJzQvo>?GWOh*RlqfX)q?JW?Z;WT~H{t?J7*{pSS#-11ap}=dpJ?#y{u>kzT+ut@e4o`a5eV@CDOpAcOntn{x9aXjs{*J zl|qcz_xd1PTOdu1Wd0haXc<{h+NEcO_4W0#=N8EKzD!T$KvCT8D_v2)^izYazy+CQ zTd|~EwZymS)t4kHhwjb#-omJmdE4Gbn1+(OjP|{>4B$7yVyv0LK@(LEKDsh}n2fRn z#rnuH&CN$wA|?gK2KQ$msxBa^C!%)veyMV}Ms5(})c-!i0+TA!&ffl1*higPwbvB1 zHO2-;=L_3&mCdF`U_uoZ_Cw~vmxoK7>iJw5W!mZ6~ z?VtS5e~g(fF~#^Bcnh3vN%rD=$NFopQnzXPf{!lNPGwsTr=)jOLN>4gKTscq*Fxu` z@fMk4g;y#q!*uncZsQ2S9#hiNXt`T3^fnxV_*7^tZL>z(+$$kVF2L!gy4glaj_c`m zOSf3j(jsxm`m%pA<}uqqoA7T+_c=@s}@S~fe*(cOwBfJ5(5ihzYR21)EWT%SwCF4kasizDF@D4E5v#Z|+~y(73&)?MzQC z^sB4~yh1B1YM+$tP)#k%;7z9RKe*#0x)K+r>xL%60*cs5Y5OZSB4wiZ6OT z>?Am-eFq$6(F{Nx_^!M=ak{CyxZi0YS-Do3b2ypNH4Hwv8N0tXhDlzHi++n=I`6z2 zouoRME%-=j>e>q3=C+W#c6ee-+A$Pou-Tm-r-ZDeN9^1PvLNRLb;1I_y6bIWUT1Z? zLH#AsfXLB3Lw^%)!T65;>vVi1ni$mzjsB=$KxK{3J+JHu|4b?|NfO> zNbau^@s*z+5SVQkBwMcCC+0rq%^cU#513eKMy<$b&0F-J*3BnOE1Nn=2=Ay^E@gMt z65X5_AiP0p10YBVR%R|Jx+G|{Sb*0^83<9~dTaFv53?iu%()C-w4>S}*CtK3w2Mcckgx91%jx->F=-3`}x2`8CrKX_`b8R@jms z`;84l2sxy93ts>^l5-Jb{jU7Hmi(QCv3+GduJs5KJFqa*D1yY?ssXz8%28oKzpp7* z*u}m%rXa~!zHjEW13kqo&jY(ge*b9pesFgG&A~mn8zNOH;@FJU5R9s=6O2jr;bin= z#RZ4iT)tZXBA@N#A?Bm!Q=Z=ZHc}$xXaoB-Motn<_u_a7%f|XpZ;u*L!5QmyT|=aR z*g~RQDLhK0RGU>Xv~fh%hR0MQl-@sD0xv2vImCV?r@JKJE4%DoRiZ9%nmo~>q^kEQ zbYi{#-EA@fo7!Sld^u8^o;_GuVqJhWe?&nTl$GKW+s`H@ubj?`( z#_^xKh(n?qn0SP-FbP6HvABGk8YcFEaM?hMo}h;x&2LsP-;s5dPmn}yKaq>=^?1>b zs_dcX%INNC@Ps#eJG`Sk@%47BAsK6wE1gwJ8K|RsZfF4#Ihht-9kHe+8jBWi293M& zA<-=t=+Jp*p|rmsX(e9$_2z|KcS z+UF5@?~^K=&)58?^_!I^JMKr2>I#D&kv!qNL*``tAlpjR`zybgO$c^Q=u0O8Fl=A#(en~6Uo_va>y;>Y=0IZxQ?6wt=_1yR(6=TvbYVxpI0awt+m&n8ksgbJIDQ+#7lYUB44UpG3bebRY#85a!~ z!+2(Xo);crfpk1jecN(LIF;5ZKVy8sRnS(Wv|Wenr&;((DoF(Lco{7~p%l0ECmRD< zNrw6!H~LXOkoH~Z3QG8D9|QC6b5_>;=1cWL=K`7*h((TXc$!76dM#INQ&VyWi?rOf zjQWAaHrZ$RMO(~r)SDNn+gnR}LZNNNv<$ry#Dveg7^F!@A@LD}wg$8%E zg+js}m*BxcLJPMb2YNLrX#533^Td_ea7{meR@J=jPY$F+wlpku*38@?Qa_w#sQ@Au zanR-^BcLl(?KHKAAa;0CXLlBnPdymPjjvzQi%j%X^7#vN4IL?~GQQIx*!Qs$#j@v( zn}*`&%IOo(L9;C=ObF`-kw8k@;(03?7QO35Itf+OS6h4~sZ{e795G638pWzsun!fR z!u-7a1}@%i=hzHNxNx1GpL4g2MskLNJC$@#FCsA&HZS1M=VKg8VLqvlKy<{3?5Q_a z2SJMY-f(`3qTI<*O5ct05w(C7c6?Q)>VAD{%W`ST(-!?DeISpuH$zs;Ew#MK$y3n+ znMet<1QrfHNi@zmJz{rzt>E^|ydDkTFGMl3F2+`08K?>*z+MYV1JqCDg$EhaPsVXg zF5~;|JhPM|GiNlG$)P*gM<*apQ2knjr4FlOf4&#q?gwgC`OdWKz>XwGi>SXsRu;rG zR`q7!W_5i&E-0vKE#9lb08L&8zk(8!YWpgYT7y}={jNbiSqyu^K>C5t;P@zY?mz?Z zYYdeosRl2BrrK0Q!vo{ck4%5Q>aais-r?gK7vnD-L}pHkq=Jr|v*4E4UJO?av}9)D zKsXYic2njdyY4pJG48-xjq&&o8PhTs3qk^jaz4CvX<1>`d;Pt8sN@AWy`pl(aMtA) zp$#9kwWb|J=aN389WGDhL1Hf{)S`?h?rBkUvv?YtFN`~j=9qg$HjC{Yu$U3V-VUC0 zB+_#JGXSi;7!zyz{(*Vk3?;iJAfFrF#&Fn0Gc_|Z`saI-I~d*rRLiQW-d_bTCydcA zncL{OEuB#IHmqW-e5i8fyC#>Eq|kZfrPnrpFk|)IKWsRf4vu3z50(rlU}HJhTLsit zlL!l2rN`8%R$whpo_1vgDl}W^KvMS6ecp0xmxU9{h4}nf_Vvq4-!h*dP^zV{YZiz~ zC(c=RF*+HIYsqJNuVRTTGja}WtyN%FM=Sd1^W%dN|J8F0?{<^HHkcwBkCwJJm5UR) zC~NTWM3smJtR`g~;#`sRcO8*|RR38Z-VfS~)CB7w9e$GQUezse6v?XX3YGh54l@=$ zD;feMxTyFkZ9!_l93JzlQvu8^=A&yQvbAeceU4{{fuNwFmNN5=T86KD$se_!wWg+& z&@n9a$r@%(qX$Qt;bvP0(-$|3v(m>*w((+$-I(4QF$N!BP*s94SPM2%5u%Uyz=q$$ z_9fnj-IicxQ@y~gPleyAp2eAoK$TYKmMsSV4#%7<&hT9NT50qsI8ehqx)Bfagf0i6 zy*!tcR`>i8wCGLK&a4ldymF_tver|cNoc-kR#8`v5~`o4V3UOTlKntW*J`!yQm=FI z+plp`A|0kdK&eT)#%Gm;U-L7sCa2=kpP%(h%FAm4GCs)j6<0ZAMzQCosEGF+7Du$G zOqE`HjlK5{r3COA3#8|-q8z|!(prGf;X-ih;+g>L_hsz;){4|V5WxnhmN_{k| zR-(Po_Z983vvA#9jVE$p?u)3O7fDNu-(_-|FVtn;ZY>R(pS2f=Nd=S$ZdVQaLvRy^ z=T6xX=&h(AEpvxdj=$4Yyv5se(wm{!p8D{Iqz4C~hfJq49O-$~{7!a!rG3)^zQ6dN z=dtOL&v!Xn`w|ee~WwO?LW66|9n;5Aa%Z&w6$|63n}X~ zz1`<_FC4e|DMF!jj0q9XkNrG~8R?C?snE^m#hWB7iT3I-3_w)6@zMWt)eK#X@_5~* ze^8_e{MDW{_%x8-_mYHQby0s!*bj05Pg}QIIcgC_9*Sd1R?dD~of9-gY!UJWy~|Xz zKjXZ6OT)1^ao$QfJ04WB%Zxa_2g#2`B!wzK04N6ybV0*OF$H&vfG+#OFA+8I`XKsQ zjqd$*qDV~3Src{9RDS!f`uHo;^;8EhNC}N9zv)9hdpW4FHsWxM^uCV(Q1pCO@^;1d z^D)lSAETok2|N1wxy$r!Q@H`cf`arqFN~|rx>nfbrDGrd>}BT=V3pU{$crsz!i%kTkI(pls<~%0$4#{F&H=2?fgZ71Du6=vWMVFy=BU z)Iocab_}w_7paTry(F4yp^N7r(%|62dl@x>@4wTkt|X>EtxR89>k`+>()`mQ%lbQ=Na4g_?@w7o*~OK4Iymmu>?v#9t=0NGp;$N9 zwMChnq@*fosaVV|yH4$xDPrfPssXNhH)boD+OWK%kf6Hrtm~8!K9$`7-~{_@+GbF4 z3hLb<-MAm#>gjy>Xi-wuOE1Y$zq&`-F}*ix<>CU!M$GM~)bQ+h+F7tprowU&7M;F` z=r>J}(s=*KzxeCuL#Lr;0HWoKNE7lGTM9RtLK8AzHFu>eal`EukMnY^$&(0squxbt zI+d}jI&78UCrp#+;c20&O3Cg*UYymB6vSIwfh7XEA=Hs9pUDo~>J0M5S`DK=h5GfO z?W(P`3w)jQ9?*qRej>hdzsqGpwr3+eDyPz0F9A}j0 zQb%b%?uW)1)Ki|WqkZCIQahqsK(?vwfeQ}Lv6!A4sbpy{hvCwn8fiX?K}HGKNW~}Q zot|zro8^tAy=hD&I&hUjAXOv5E~`|IGCGy2rPR-ItdF|rhx~!-X7AzDL34%OI)bu> z%>Ov5AnsiE@vfOnmhjZGzPL!lT?-DnhX{U$?-Ellznm2GYZ>VN@c%q5fy_BCs!}Tu z$$eicYRB?^;v*8oxWEbyxEE8Biw0|JOQJsEEb?u=k@g++!1WH_I%57$2W?DK4$Uu) z!CAk&y)hm%48%I_>a+1%j~XfqEsjB(-wMrG1UU$6O$L#ix#Xx}1ef%p-CVUc;+#2Y zCo?B6;Y6qTnb_T0cjBU&*GX$n@ydzdqY0yZ9s%O1GV0z|@w@i%^JLI`Vq|OdwYH|d zQy~IZ+0D3{o%rOZv7{t%ON$W*1)O-e0h>K-hWX8+zxsE3%vH@x5H*uH{nWN#q7ULL!J#1*Ll~Puqve6IDWVTBVop0sA@?y<3A)Pi2KCZdv{xDuD+qcNXvsh`=aPxya zrR-=uATtf&uxQOP@UrsQIRW0=!ZvAqryh+P%7&8pe|clSH*SF^oL zZ#zKQQQ)X!j{xbT^h_GN$u$CpglD=o}1XQXs8!PjxzN9Q5s#FYbRc z>fXRKpzEQ);IsWCi9mF5mo}1n(xviC6pDjbVk;-oK8RCu>5t$EK$2{&^zr>#_hgur zRHInJ&duL8fr$zT&f_B@e<@ch-#+B(RwJGdGmbYbKdp+uIRtttK!77OWk+36Dh`*> z5)x^;qYrJ|{QyMcv0PqA?8Y<*O6LN6iD8gOt|ajjm!r~PnY?P7Z!SJvv$89G$rU0~ zRv3yx7jsOM?he|Pm3Em{aDKcQJiG+^l(L;~y>LiJvyur6FfUR~ zQTDLB-SlYEw3XvOJi%HAW!;&YTe8``Zqf0mW23mveaFfrb4c3yOVS2G3S|>FzK0K; z5C2FfDsVm#ZD5OaShhCn_Tm$~eS$g!Rqp1RJX+1lL4{&f2%X7PJv+e3(?07q)TjnO z(MptOe&1rx{|mPk3?C(n7%K7@i0~3O#w+8^KH?c*VM{v%rg?HCv&)E?I^(M-efR7Li2h+ z3l;s-nuPUIAs@Ks`#XgV*T4K19b2-i`m(>ukMN;Sw1rz8?;0!V`U%(L2DS-V`^Xxb zhYs#YiMy&#vpyQ}Q^e?I8yQh*J)gvObP~TkU2c4TCz(kYYrsl^JowS{<{RO&mm2F* z;cI5R?`Pt~@nJ0j@6-*%4-7ekJsD*8ni}~BYuW{AJ{CMnF;r(C3@c@WYx-$Zc{SAs zG)1w?gIOhEl0D8Iw1gy15t-(Uk3azXaPhyXv+Qzutc~;*cdA zHv)W7!ll9_DYbVSY3ketj}*MYDLKp;F3iOkfGIJLF_+ixIIdA5@Ob;5$=fMJnK$RP zv^Hp+RZFC{^#i`mxCz4ryr3IU8&(T}b`1i^EwG6{r{r1iUGREO-zIbY+14|X?YE3D zA7%#M)5ff749%tVRaR$#mW9vsCW_V7W3ZaGvecXf){T-&_O7O{ew-tORAc}1bd;R7 ze-W&TROzyc=$>XbKAR`3;I(~VAQXgBpPSz}(A6hgVsyV-Wpr;^r$#=1^VOR?WApQC z!1NpJ9}kVTzTG?>@njhOB!du%>V7cUpGk=wTEC-8+H1cyI{3EAqlQK*@xvKHj-x$f zaD50U&z-hbACf^COkpC5g!7QO#JGe6U6aKW0i!$I>x4_$kT?bB&KE#xcXEbL0F+-Zdw}ZTfRrE)b1VJqqd(B+$vn~qB@J4=| z-2f>b@5+%4%*^T28!ym=X9mUG{UfBvb}wcED==o&36sYOp}uxZ*lox9d$ZB9AMHyobjiKRvTEznI$oqhV}2qQsdf zsI{|Qtx|})XEYIAbK;1*)7H~)>tZJ2R+ARjai=(IL{}i%(eWKU`^J-NSySbin(R(( zjedz&y5ihn;EViU#qCpwo6fmKMX0Bq)ENMCs080RPCl?wq=ffS2>QIn#=14VG6Fd- zo8fGtCb&>l|5KlYVyG3veJ=t6=&px&g_{DK0D`tU-wd^0GO2CbiR@LBqQ7~8lxDHY z9U^;zESa$K<+Ytk@FuG0MJ@9ypYn<$#X81A$@7U=r+Hk=Hn!=8t0-)T-dy#5T{Zp! z;S)W1JC%26s_s$mFQ6K^Nb}4LB1)alhAVg7a zHB$=?H#PF((4wJSs{i!+?)iPqt}$cLXK}IWgTuz5D2}ZsE`|PFx=3Q0!%|QJzGYv1 zg|>L;foB2FZ3O?$hOZM0)28r z*P?bwgco(By%(l&w@LlgIokK9fhbhwZx9J_Nm>8agc02r%a}iP9>1JnFsJ<6r!TJO z^Qb%)ZxB*;Oj>7^5`0f6J=|ScqudqJ4M>m-P!gCzTmhjAdA}r4#Ox=_w&`R%hE=o$ zY2nm9ndPRCJb{#Ovkbk&tDK!#gJV325uHrx)k3dx@FFl9AIOn4j2&~ufL$Qd^RRuV zE_>vZUa62MB>Xzr+?X0sMri54hazMd;Ef%O_sJA!;cJ&c(l`H6#D99psT+K;HS;o; znv(9{zx6#wldj(+dOv_GH`M=iW}p5=PQ`3B-=mjFx+e-N(TX8i%CSH z?nGynSUKgag5yJR0AgkRAqVkj$%H!_v7Z(!}BjN znyU63lx15+$($GK3M7~E$d5S}nL!0h_Y+(y7d*26T}+BD8UX?!Rd!8^L5E{U^yF~- zlAoj2>f!Pa360mt``ZWCl!l!C(}6Kmon~**Pm&+Sg)3FB;iEkv@qseJ(gZ6r6M?l= zo$&k{;Q4(>lm2yZ-gn-u#Qn1Eg1Hi5bIDQ+FyjY$GGd{YFTCVqyg@|lj%}Kai;#ze z@W6=ZuV+A#4l^0=Y3KzNSx$U5NU**EYQNp-*5IqlB=6a%jS>O^? z^=*7lC37uQLB+Mg0y&VWq%RmN(NmJ{#_$-`Dc8Ws?okM5IJUiS75i^Xgm@FRiK=I% zhUEd8l|j&hbR^-}OeB87RUl_t!!gV0QcQq}zhY&;@{v>$K3decc905vW<}(8IqBd6 zv`Nl3J(77P*tWm>{?kvzKprzJ(A+kAfjCjFra^N;ia5I?T%bt(691yIcC6B^MsN2y z<`f(NtYwls7iO*7n;QbXm%h(vJ^6UVK95+BO~ec*WQUT#7eT0<3r0b*rNA-IVrl*eUMh?rQ>ox*NH;ymt+ozaJtLv z%ANn~=KlL7$%6U8qOtWabqD~ELKhaT!s(tQ!f?t$F;d*~plo`*(YvTPd+4*r?o7$@ zA9%&z=Jd}GXEbhgk&5s}aM)BdkuF8t$+QS5@oVnFa|DL|2*zy?-??i$?jG|0<&1_s zWyqjtVK1?k&jiVE3T%24;s+pQ*uv8KSAo=ibO(;bqa_juaA*IWsQmAy|9!zbxWoZf z5p^J5I~6_5N#U5OEB-LY0+*Ux^;7V0Vn}HUd>}75(oH{Oeot zt_pfKlI&$jP$B5KA&@oZkybCUau3a_^Rxny>UBu`Gh%l+N;f3QMYYO12gQE)TrwHC zHq(ZzWBeNr*RlJfeO*RBoW*8WVEYW z%v$|p<^TA0f9+igm4MF6!s5=2Ma2VKO>T;T!=Iu5`_q3e3?8{>3IEsMAiIeF`#=1D z@l=riC-1aqKu3+7j*1w2kV?!zGon%fiL!vwSX2@}stT=w)$#3WCVj3EfFJHJ9y*Cr6|IcSUBos@mNW{?!$*$Fg(AVinoI!r_Mkfp!>@YPX7c0^ZzqgjbAiH#!X=`U~csvj7E_?cJ{YVuW) zQN456SjG+WdB1nXF#gY$(c*tTmku9Fb=PnFOm3I?Bb;ZL3ST{9X1p*mY7kIm5GM2E zqxV2~nEQ;ILh^{DtEznac%YG|q9akcltDMgG%2^`++7o!%;){l&Nnb&RP4zWx z+p^!;Z(Te3F(dqbG)mh;H>DEJ+U`O%^8ae);iu+}c+Jq?5MhzmtHtlA1re{u-ztD$tlbj)-k*`bJ*p7u8Q`pY9A?c)B3(c&%4e3;5JTr)qt1y4N2^gu7X zqVDEOd{PflmIEnpuHLRNU@<(_bv_SEoZVF2W?*K**E21ApcgbJ|9{MSkNEoMLuV4U zV%V-4ZXZY_Q(biXBo5&@e&#m-PsjkbxQ*Qr$kLS}OV&7MF23J5`ydQS+BKJ#w76t#iJZ@t*I*$VN+EPFrCh1fk0(% zcwnNMD6;fGVR49F&}fRxBlcwOGI>NwD8( zYP24C8$8{WR|n{ZhqPL?++>nwN)2b&oOZCuNFZvp5U-i_xqbk&;;<*C?YJ5~QDV$~ zXk6orYX9}qp~IgO7a_2eo(tcITn5Gi zWqsnN^cA~)JWfw>dD;{c$<@8``Xo{l9Z)46a~eidpNA8Oea%#{vKS?*wBUFQJmIb% z37A}U7#fp#SH}E#m71LJPr!MjhS}&+?0NUd2~DY`NHJGf+;wHyYzP^x69ZmFGhUOS zAhL`Jowp#jO8bt$^8?oeIH%){7DpDCr&h;ec5u@SK9op}D+$E{q>;i+_#q4VZm|&R ze=Qhq1;oA`au%RE#;N^RfBpTQ7jJi7EEMR=eLOw3`|Vn(dYX~hWcVi}6+~_d>b2DZ zUld-j+{j}f^_)8QV)pTXU0gSB7P9)?=CkhQKXpDu@7&9JF9<}-eruP8;Ya0E_fTBK zH{vVf3rxjL`mlO{M)Ck-aps)ca@QbB{VE0p8;I1*?_-WvO8*fD39}(W%t{-FJWuUB ziF7TpI-^G7w2`-DE;}XX-BgQmtN`h$Na>8zNa^MvgDo|Yj6t-Mzd!3ZJ9@V*lFe*e$l#Wp>Wvgr-Q>;(JVj#Q1)YTLcnruxeLM*jVP z!BxCP^Eqa^)0kOPUP~uhLne%pnwmij%<=-b&@X17GS&z1_OU@B01Xgh2F&udqeddE zz{p;79aOuYxLrQ)2>!=&_^(cErSz^kWD0AJS1s)uo+3S9J?IwRu$fU2ffbwnlqL&W z7iu(ikw6Hu;Ktp!5qgEUpKr`|EVGR53>(hh%thh`U!b$Z>msXVe^&i`n{?k@T_rv> z`m28;+q$crh-854bZTpr^aWMP&pqaQ!m6kswJtsShLGQ@5r0b=R@P}>yy%i-pa^hxy&sa+2EzR-AeqcC5LpZmIqQzi9<6yGpdo6lDC!I=8I&^^u^Rzxqy50T=6y!9 z%m2XH$%gmuSzGL~TPJQtT@D3H;Iu1H*xf>AbnKHr=VR+ng`5?FJH z1xj)*@={`)JcYqD_<*qf#wSQmx-p!{)4W%9Ftp!!WVI3uc$*3ucy{FWF(h8PhRUid zQFd=eW1AC{~H-@QE`@YmL1U227>h7R51MEzigyE32XUc_O;0Ogn3Fy9{YL{Z>s z&{QAzGh6gG0!Rm|8zjBYBIQ^G*Y0^9R42L=gdX0XW~4=1I0wh*%DS1ZQfF_@R3a#^ zYzR+kg~l4bAR-s-nDlRd#%C5+p}ArAzL7EtdNI;d-ihsM9z7jgO<*Bsuks)i^4R34 zpmmVF!(#nk>$BJ$q(6Atp=@X^x)|xdvpQMgY5IEOD4-p@&xA6olJ4OS#w9(aAN;eV zZ7EXAhk%^&k)mlnBGbk2!6AVR%aT=uecm;|B`$0{8NP@Ho86Z=!xa#qD}dt3xZ%p^`C_+`xZmUQkP zZe;n5J|ve)){~L^XeECRgdBJA^J@%A>`|xZN7M4l+RI88P^>}N$H>8+mK(E*6*bS5 zdO9CiDt%XGyVPlpfus&^^fkQ}l8@93Y~((IB+V26g|>x_z_AnjwtZQBLAhX`v#Q>r zUT$-SFX#|pFdDGD13(h%G69O*Ld7D8ob%I5YUToG}ZDs?|M)c;lJjSf8GfV z#U>CvR!b^vB|Ar$CWvRFyM0DQJCx{?T#1=na*7+p&26cP*FKDgi-n$3rxU{Az6eUzPPgMRca?P%}=@1E$@{LK0R3} zzbEI_BlMyBy6!CCh+ba%);m^XuFw^LJ395J6 z!w9L6cAoOk_I+_AKH>LI;u9UpVh1d&6-a$}!*B%(O0AoG|2|>Ze>-2bLr*?kv)!ua za8wum5)>1ok~&?pkw&DVXAoMp;MTpF(s_Ya-S-4{cMBiuJx_JKd`{M=)zV)sHlOiD z`;!Y!&vP_)jSIqU3TMs?k-uoEgtj;DfMQm_a6Yz@0Hsb>pUE?Oc?Pu%eeK?ugy#3U>h+jbI{^2Wm(5w`6WKIaR4mXFJ?>jkLEfzKwJ75%B$ z_WiF0%MK;&1g_Q4I&!D|H`u+83~aE~`M5iw=o`i=sJga_9{b}M>eG8HD3)8rrsIkH zed+2ib}9#HfZE1I_!J{lv3rY(=C@A;cYI&oCD*+y)^A}PE&^Ffo4`{#SQK?dl-OEoTgP&NV=CZRB)O~<{ZNU6=M4@#F z!%%)Z9CKJ-EN7E``&ov977N2C=!*#qO)MFy_Ahr6ZUk#a&t($_>%Hm(Lq?R<{?xf3 zU6HhHic+zw-cpU#>O@eRun+(&8GMB7TmDQ}nSk5pC6AvsJf1!BC0YS7g(E0YD!AYs zrFr9%T_0}U8I)pX*kDmOvCq)cgYx}1Zfn8m%;_QGz2Qgb-E*ojtL5w6>Cd{{`Tke>oZ z`$dpBK2c!%$A220egz5+FJyI+h#%>JS4FQG)xP7EwULxb($Xb?y#oMs(OPJ$X&o&+ zG~OFj>QuWOaRj>Ran8`zDz&+hb3feT)n4%wFRtop_6?8{@uJo2cqI{BYsYRwOUxNN z{bu9|L@I=TJh%89{li~kVJ#TJJ~fbgD?GO%?)nE)Z&q|R_+-L0Kc@u6#a8oxjd&l4 zgqEEpWYD;0bNOO1g<0%qN$X;dD?(`zn&`Iu(d{_iZ=TGfXGdCp2$Hw>pRdd{0tg#3 zw^g(CTiAZjIX9tl%^zrqE`(|t)EVuVK-=l2?-R%q?|&rZOa$MKbS$bb1CtVWFRmd+ zLVlqg%&MH5o-uR}Bx6q`5!Fk=5{w1x(eTn%UemPGn#GJljTVNOa{lU3q<*gSI4!IIYuKi8MUhkxMq!a-)^)F zBQY+|3|;H17V?DAljU<@puiLDG84N211%b0F*2`_y=^Udujx?Y0YFV;!nBOlJKV77 z*kH{WrH2w>wwO~R`c=&>P-cFcfT&|?*^vjjtZREH!0;KdyoppYlG?cky1=pnZ5Fs1 z8B#~Vt-Jyod}y-5&kPg`mxo)9JYRB}*yxyOH1qqCeyyV>T*%r*`QmcxwF+`!&jo4G z6Y3qGhkV?u{h||gqLw_esu^=*FBq7zwjLo+Sb3gR|3i?wva*DcS*&C0Q-)4PCh0DGcE4PhR_KlToJddk?Q{$0gLv*Ws;$fO;+EIo-Tf^sZ1a1#nD; zyEZZU_3nhTlfd3R@tJS2=bMr6eS?13qmIsj%Nxe@jU9KN483hRWcm0JX?kk+M}@jl zQVK+>5xeI!1Ay5b;Q%3qph9o1wdcWKtb$uA`g~;Xc`;G0+LY@~;huMmvhyT8?E{sC z0ZGw3S`}T znvCp4o69Ca#)tNAf1tP@V&DeO^&yCTg;ZpvY|vK0NV;Z}rU_UkGvztFCMeRux(H_C z#M7#3J5K|x(k1HD3pmrkQsiVGp)z?H6X^ux<5{H@IJzn{QLVIx*;G}(wPs~UQ;Abj zlKawJmCsF;3ef~o z?~7iH+$?rD^M2itaE+GSTaWtn>XJ#!i*$g+a&^eO6}sN~UI)xudeZ+XU}*GH*Tay~ zg{cXBnjE_67{ZamOoeqkXxi0%as@xUn*R=#B{(Fe{aML-637c-lJy(JdLzfKaN|0F;Y-H~7l0W71Tz2=o9DM) ztyd2W5=`i&4&Wj;9yv2z1!Sti*!S5>JlLWXmjk{YndxG(6MAiJ)dVS5f_orN>{g;-sVJw6> zYHl4uGv*Tm5olbqQ<6c}R3gt*vrTq=ZA)27jd;V@<|gCX|BgVTzJ~{g^h4KI z>d@iur>tC{%8j}v8h@cRpVWAKOB9@eC$`nTn|SNV)oSfLg(jgscD2m97-ar=b6)O# zy@n1xsTbz&xO^}&IXaScmk@?C11a7=`-Bj|sMGE6An^p}47cIExxBE;4;`Zc-y?DS z{=>$4cS%&^KCz{(!K`plCafZXEdDcu;N9DjTTNX*1-b-YR$>T`R+X@8GfBrE#$YUy z@GFOx9!ef}*jQYJ!UvkecD(msYI~`^FR`2PI^kiHuFS%PV%p>C@>%R8;YV`HJMl$z zocRMp-2F$iy-r3R@9cw#$jl=|MPR+{7Wr&zyaFy8tyK56x|dT-oE`CJU!n{ENCfe$ zc2voRg18Q=BBZs9R2mDHTE41?#r!ru2=a>=dgc};L}d%u4JPUmb@3^-ShgD925!np zdeV19?rrC2xOIc_qn$9a!)9tWq`NT_HS2q*xlV0XyhcCwrN$H%;8+QmUOKXvIFjVK zHRdpG_vgMmfZ7Vtt5wjSPTejngVlUHB8K$!{jMsTtrR))ZhU$yrl0bsg2{NvQ2uSN zy?!Q>2d88u1`^8_ zvd7Bm7Hl?yCTnCPq}at_B{rS&@>||lPRG^;W(whpvrJOwGYClcEb8mBUbd^L)d6vPTy2K>R$Hh?{?h|7% z!`|M0N=$)?EXv?c!gNYz=EdVZEK)B1@R1enLPc03|5~^Nb0l4GaK#S7Uu)-1 zQDc6jLNAxqCT*9j-dm95*W4bx#Ed~hJtOrPd!@>z-jHA%r^ZW>7J8BEiM8aj~W&EvDn%eNp%V5L;%+J#()(_xi zAXbr)VY$2etbv;5Isci3T#y6U3YDBcYlRt~@C~0hNz6>JTB|cN`MUE@LHf_9DzgQ) z=9d9;MWJkbMP|zH#+>SNOKqf4;x_ucs?!9#|LVNFtH{5eQ$!t=RwuwpVUop7@P=*G zK>W*-Nu^Z?wfp6)Z4yGQnYr0QhE(~K4f?wxY^qCka=!_YM0M>ARF5frjUXRB4jKrd zH0RBI zDyPnxD3$MjwfwK-bL+mg)dKkL?z+^b{ucLHwe@CS?`F{6dSHI9lVVj-Te|1MEgh{R z;>~k^Ztbbu=&{53sDUITzS9Ev zXBv>~QVqVmTn|q{2rD`C)GBU%Napopzp!PVgts8`isGJsLdY{zb7kg!DRLoZ@2Vxd zO5MokAj8&hS_vOYwbLE<{gK)*_A*5_BdWUJo(G{cLBTR_?81ft3rGHPHbt2Ko~HIt z|6W~KgJS!?+%Ze)o3V0w*T7{>{bV(FMO%5|G`{MN*ecSnQot8@`&yBT&$RBQN!ph- z#;5Gt^J#3@33P;-KUL>PF@N&Y>^cK3RY)Q*U~akQ2yq-!;On|4(2=tvOqFZHnyKdy zeO>CSB#K>TCVcNZsO-2lf+tPiF!cEosRVwc4Cq?5s-6heBB=Q-N$a1uOiiRLrAnSv zMV-*0F}kg%benM*Snvt@C^W=dSEk=yOfhOP)I$*E^?cE*6k7V^j-p6H8IrE+V1&Eu zBwQ?^2)*;;W|gvrj%xEQ>@i!B#4Itf0gS8i#YR%j71wXtL2_pf)`*C7TeZix%dD(l zYld^(<%c4nBbLeN{O2^2a_=n=iWDP*{&R%qfA!fO0>W3ayvP_be)I*O7gm1Ilj>)} zIq9sLcU(f(AF6&N2iIUD4bZqyMd^4lcV67QQLlG8Z$W>S%Fg(}`f;KkCUz~<+T6UW zB&NGhVqq)3dOfP&EFpKW1)J|i7vg6$(8Ccr=2Q8>ta*bqD)_Wvir==eB%qq$;L_K7 zuk5S(v*_CN`=m|A`!9(K7H~NylRZ@$?75Jvmp4!{&Z8Qj;Jg~if0Z7+*AOKcD5NH@ zYulV&>}SLL__iHV2&QSQ8kH(XPifre(dM3?y!qJ%lz8B)$uGfu^`)}qX-CQ?*(bb` z&xPP~UEw7^qLI&7%S%XF@nZF~nTn22N4r~Fa|GbGvqpZUP|OnWzdaPSS!#!w(-aCB z4{w}*_b+cIEF=OqHf%p{s}VRr^!8-kr)#Zpc-`~Up5yhU7^@kbVQ|hzuX7l1T4>ivNLHV2Sje+%7vC^`|bBn-qcO>l4rO(-zGB2=E}j4J23; zI~q{yrDEcA+K-yQ01n1NUrDB`@VsE2b~5S%YW)^*&A>c7J%F|&qKmOfX{7i6y+h9; zKnSR1(0|!LYJci*Q{KADt2Ktn^3X@v>u54Ps9=@;RF3Jar`)>Z^L%s0Y+OyF1Ivgt zs5qD>!4}6;k|&`ul+Fo&OjX!JvqoGEGuPi%)7Is) z@|34cv#kdpYV5dpUuIq<{JjnLhQsB&KuO9D_TM9@820p|#cRrF@|BZHyUq~bMR1pQB(Ir3@L8|WXL z(E_EEi7>csB)wnwJT2ZX&D%Sxfn-M1vbT1k65S*=j|?PK@q9>+8+9%@`7=;%ZXYRw zIWdt>-SLe&tlwXnMiD)u+h)hbX|`*6)S zOJ7pcY`8h~Q#`OvA9phsAEN;(n-{&RnXwDmC4*IW*e09=Cex*0H@W5Qi>~QuSeF&~ z6|Ox~bP_1bE0Qj)Q-)qrBOZTFH$J4Mj@VxdBwcz_U-#9Kf}ri3XOr^lr(*nP(;n|t zv^|$Qv;~>)mP9H=zMZRFfwpklYMPD(5*t0hB}?D@-YN->)*~dFr{3i&zW=oV7diuH zZB0RlW#9e#zzlMvMA1I~%Ef*M%}c-2;?i+&M-^iEx;wm7qjy*d2*@sbV2~)t1*{xX z9*`G0^$Ay0lJwU9|7d%wsJNPD0W=9g65JhvySoPu4#Azl-CcwG5Zv8e2X}XO4esuK zA^&&oI{$a>>)j8`Ud)>6>awn?uIgraWQ20i$PN*LYiy=M+eSy!l+CoWL6Zu4fzuNE?ThNAEFL{^kV$safol&hUIyiDC1BvWjEbdMd zgos}ct(*-MKPG7qaEwnWsM}n?d`0bK+S%A~Yy0(Rl>m(S0md96U&JpVvXZ0zxDua$@_^#$K>JX3(>Am9Daf7+Ah6#OgjGdPkYG&Q`?%s#k)s6ytQwA$EqV$H0d zA+SOhpv34L36e?;E4FHYouf_)D-qH_VzxoHo*{Y-m9s1B>a%L~xn;u>&} zlId>`cj60BFHZ=X_G9N`=U_HrQoX^d zA)BVFRq8$UdI{WcRqZF%7ZfyqzNbf~BN{7T?T4^L-6;mcNtmsQ#s6XrBCHSL`bnSQ zH$qMcwqY#)KKxb~(&#U{qo(dg12X51EnorGVACJ@QsBsZuz12;VSOygG_?5gxGxA_ zuIH(nZ?`M&dZbBeT$v;r%NTk2+aRU$v0KHoJI&gf;q55#MR%0f{C`?}Pf+#!)d!x> z1r@&fp#|{Cgv!{p$2a zq1#CZvRg9X@(?lA2KS}*#)|>}e|(Sse8xj4aT8{R2BGcr{}7sQx{RWP9bWekuf`Z2 z$NErR>t)6BWyL(iMiUf3t|OYyHO&H(Dh})5 zP8r4jU-0esWe+uI-YBGwHFjSB!3mB9Jj!Sl*t8q) z-}PC0KRe%T=L9{}yn2PzG1vUm!mS**2r0SZN0+w8ltKV_uWrdx2pFWKRl-q z^ADUln6>*$XYQ>F0*s#m*=$4vMA!q7YUKZB3E=GQGGL^f$>c~DPtL0EyMai(3Hn<< z*#0}58G}aq*VfY8_gMsQCCvZl3HVpp?O#AxjQ^*Q>8%^9|No;(_5UZJ*l~X%)sjOf zB!Kz3HHvXT$%9ds9$2r+JT}c^;p@_l28k#m0p{o&ikb-X&g%pgN<0WqR=Nr5xJZs( zF9;scx!g1Vw7%r5cWoInTdS4xkr+1&VCaYWD{qGtK{KrNwdJh=i+O#n?Gg9pcqu}M zJ}5LcqJ!dnAgs@^Kf!Zm@sDi5biN^-@}pyK)J#9(#*vH9{y-uWV0@C<;F8`g34dGkC1e0k5< zSjfYUO9KNg+GZOUe!X~({jBBm711qX7T}EWJB9|7I~X#UWXQgJRFY?B)OWH{f4rl9 z)^+Lu?{#;XUTHL@<;;zz5mtn)mP_{?^)I=l$#^K>cGdJG0^Myz3vq^R7~k!#ht~b` zNBw+~4UH-li@h4IOv6`-_y4B`yq#8WDE?I87XeZC+28}-n*)D550^a#G(i?6;+Xt3 zrOAC@rzWfJiW2x0F0*3xYl|~X*WS+Q`oPjpS-E;l(Jk)ZA1MmY&*CimMCsZhu3;_M zAB}~niX>_QGp_jNqw6rHlHJGJ&uDRbtbZo(+uGk+tK?r@cR2hKN9t|wZQUQ+Ua@7K zo=@kiEFOiic{%aP{x+BGZIBcpu+-FSx{HYgaqKFWzaPjw(No%-hqx;!sn1T>8TNPY zmNT{ru*`?6F=pHzcoPDqqAKUZ!*xM#wXRF8MGv-V_Y*;HG7aVXMHAPAl6LUZvs0`mVsZSzm|ZYoK-u(MgZaQ_9jg$Vw}mYgq~BdG4`*`|!IA$BiWl8%(uz z0t{z?iyU<-J2c3a|!(GIjdU z%$K;3>u6JagNy63Z;W|JHEg&@{Xv-(Y7sVXcOTs#9j#Ut7K{J9QP5yBBa9lxa{2PH z92Nw*+CB)zGbGtD|F$E{(E@hJb|NhAHuu32VoHd*!3J#-MpK?6`37*>`n(bw4@|V5 zSxJaqA?tj~Y z_xAu(>kcB#&y!@MeW(&fdQSzC`n@KAa=MOI&Bw~iQnCuYXJW}jE{MVRRc!W?fj)$- zQE7YFmu$pR`>euN9LPG4kh#@mf3y@cOXp@Sas?4*1x-L!q4Kgfr07DWh0GV~`$y|` zKp+N-#dM9Zisvah{b=JybvWksZLqNTHUB=eoUXGCb!RIx5}`A4t3`);Gk)-|@OW<( zeKg(Ke9iEeQHy7%b*vK6TYymqctA%?xbsCUh+V}pG7mHSu+5&wve_JGQOgxOIY(5t zYU+1%GNjpnbWNRof7hu0GOn?)xnI`|L~`#hIf>KG__(lGEfIp+lTz?r+V+}y#v{Jr zH%(A8HKoM6pX{1!qsUJgHD(qlRM4I5{$kCMT2NFbVq${%f5@i$Mz(b1*+tu!xb1Ij zR-bf{kRsz!LWY-v6O=Urd>Epd4cbEg zEN_9kUEzg%#Ct?bqu5u=XQ2GLKG`;U<7hvN-`S~-MkKB3e{H5b;7ux}LVeP#OVLa2 z^mcY~n;*PzzsW8DXBw21iz<}ARk0+eCHFCZ%4Kk$kcbEoADt{PVsVki*y{Ady9xVW z&x9=OTY>CV$D&FIZt;?=qcs=nh-!$srB+C#*m-{vg72Q6LRfk$jCT-94vENsH&I(D z;^SOt$Kl()l8G>EQ4*KUNv_U%O0o4l2H#ihm5{i`n^hzCGFu#%w#K@*>`jSWLLxw5 zBCyH&t{~fqQ{94tcTqXQfNC-_j+)2%=b1498tsVp_PF+$je`?bK{aYq=n%cb3rZM1 zdU%0{9)rb$5U~T=bpY@)B0Hx6u~6anRPB!zIcRd(n(egvm9wS_-g{Sz)M(AmCr#r8 zEMU^vbBE_M<=m9;O|^hc(&qacE@LYz$p1Cv_t(GECcf;lFyjv&0atgUs4ahhVk&P! zcGBcS-$b57M2rvk{RxU)t-@*h(fM&RoV+$Lqr^(Uw=39ASWmjsLE8h{?iBgfURDMA zd>G%;Kb%V(;PmL0f62_2QB`Lu`zeY@lt^_Yc+L#h_!>t&ZEQz)X_1rND(zQ)LM2(b zbuUIvPr>hoD~4w7ZEw8@vvB&rLRs}JAJb7B$^KyPV$bK_0dbeA#|018Y>QqsIJeLC zXmNP%xL%KQ*z@XeSyLB}&&C|WCe(8KdoOg$fhO|#I&)oZ^dWfjinugaVIyIS38qxRHI z`&4(AGfcnD?XyqLl$y_vsGKcizyp%UR)4{#H-opi?lL1ofSujC@QC}{3nHw_erQF` zcX&Yj{US&HScsFY^qu6ndi%ckd;}d*WiEw|KUXn3*ODcm*T1UNtG$Jax3|-*)erya z4%^vuA9wyCwD0^eqAm+f$mj%e?HMkPS~cwH$^GfTsZCH`p6TD3JsM*xD_zOO>{0#r>w0Zja_#AC=pugom@zAN>*^ClVjhPu;OY(dpir4f!71 zv>E>uLRF>kJmJ;gXhnG8t%f^^%5*ufm9{rixb*)B;otD1I)COH5fD^_bw6+D z51WvfY64gliYVIf&U##Z!u1 zM&+4AlTKiU2Ze`wmo|zdpaOD*eR&!4%BrmV^4H1xUw@3uehZdfS7aCJBd6W3@Vaw)k}7GmLLrld zb!;(U{=mle&lvk+riloLKOe}$RR>rBeqvTx!H5K!_W;=x`d#+`+;`w$S**&P+hA8i zmK~pmD4Sniiu>_(X5rUdkf(;7^v>y8VNct5MS`8_&8RPGSk1joEto+~75jWv1T^c= z_19!;5L$N_;FH7@4T(Q&9X49LTEm{_{bAFO`=;rnx>ts1`z+mvC~ISNUgkV~b%_FI0iX8D*bQw9yX8wBEofEPPqba3}s7iI;BCS z(w>177!pvP3)56*-rkD~DYvlG&Ecd^#mkUnlXEj29ecbKHna1y;b8nc!m2a$D{Pq- zGqN6;bTs}Yn`NIDuO|dPN}8^>KmPh{8_XZ*wFID_$<#PYJ}gVJV|G=u5e?+oV0s$= z4;yHaTglDC@An-7S3*G-${r!FLJqo0Co22*KiKECH;rEihz-T3oM=$Oxz;+3uy3-9 zP=$<2a&y7|7nAZ_icO4#bv1~Y515+E z0^jwQ7kx0-bL7ZwxqM-9mEtsB#1HfDuk0x|n%!J~9#veK!AXo2tStqEbh2uMh)7BH z<}j!!Skd~7bdLYaiX$RMwo5QRW-}4qHa^Co)j(&q*iKQ6{v0S7nz*^J1<2I8(Pc%!J+e6@f~}tfqFJE zq1|C?JcL_OoNrAlmiHePbm;qYegEEt3laMG_fj(EC>yWXcjnMSyis|g0-40U=VN8P zso^)r2-wF%$DukAbslkbVCM;_gOrEXZ@=?5M%<_BD=X;UI|E*JOD#>OV1u0NN>#)6|M|C#CKdqB2e5}cn3{Lg6i zyfI>r`TJs(<1k$nO(k!=yj?pAkUhymbL&>gUV#wmxT66oz4GRqM8 zQxy0(p}zX>!(`$8135D6AAk(HJw$|9Xxh!ETHI$nbSYQPdPY2+pc~PPSoYn{y?O4Z zgQT`^4Al2IyH~C})22IA@5JS`dMI|@ipR5SS|O7f`VTue@uii|gZ>9kSfd^yMO)Lw zvA2FwG+UAIP8qMOu4p{3%XW#o`=ZmVqLxp)Aw3HrG7+utscM1e!O=iBX`GT!FugeN z_fsbx+!2*cmQpQ+{1RPHL#g^?y8jtPdy(rnD1`p@5$9I<9hE(I+%b_GniJ2nJz9@ah(9cvz6)K@Man^WFJ;|0A%00 zkfjrO_=Q`~FkX9r#tVK{I4OTWA7R4(Ek;KShthtT z6ii^byz?E0c931pZu8wt19Jk3O26T9bw7^G&1gJxAr{s8KR5_@br6-${X^--Z*Qrp zENE$%%A08X=d=30?u5;(r&E7YIAE9kdSAF0tu$|;0wsCidT8{!tctK!o*Gp*WlR+S z-BSKxP-e>8>6?#UcoDnxCjShwJ7f(JQ6Kn2$Y^WK>*?9%7Mttv{0Y1nX;*0M*cBz5D`bUdVC z!*_a}B09~^xh5ZtQ$-I*nP+IZy*#}6V;&UM{-yu`z)jU^U$-I$gztLHrN3IlAK$sx zaCpZ@`sWij>sw=+|H(?+AK_&>4feBLuGujwt- zA0jr{vCpXTxEPpxNmLo5ht2!U1E*xMO_NBUmvT(xrK9t_^8mmun7v0_R+f&Aj(@TfO>~xh%WYpVY|@js;YvM{Z*O+>bacjVMc|_E zccGou%bsPs?gh>6?^>c&WK@SOhK$zp59;jgjnxXu`*)rOh>ljhl2Qgm7CAW?m>K$L ztf?`<*U8;(@d#p3^A@Lw75@S zZgAn^=Kxu@ggZdK%W4Kw7+Pv632ywCYg{1u+(e=d;7gE}idI)u({nNGf6q%hAx-?pQ%L~}d zWX7U1=7MV_YB-OFr(dj8##~e@ARpNnK9M@&OcHR(4uAs_gppFb3vt!1)yG?>bx2XU z#w@<+{<#2Rmx-yamPxiXyxZtmt}#xzi~qCL^mMa{T;oE!JwUc&8@xjq`GYtLA0vb) zpKXq^+;O0gADFr5l^>fgtD*kA@$MC5O>$xCF)QX+`kdf!er+!k0U?sG;DTJe$GQW& z>gcGF=qcZQ0(p5Owu8l0;w%kV zBH_-80aKUUHKlJ}YgqHN{Lyk%gdGPev+1HRCW=dUd_wYxfn^Ogt3k5!Q(-y9;Wbxk z!Tce_%cb+n9JEaht6*d>)x}SCFCFY;8Dcp(GJSt(0^~2M9acN3Pp16Lrc4dA5`=G* zKpJrByN**1J@_g{C(#PLC05X^k zA#=%CLQokwSENz}QN21dgsoQ;>)8^pk)J#2x% z2XJ0C+DgRfNnBsPTB_mrs>hQr$Mr8oyd=w~j!Hh?^VK^fERdwh8YM4k8(2qz#E#4x;wt8!HvagLnY&xZCRdI;=$)t_8?1FvS2Qg7iXGTlq^@x6>eDyFQ zd^0BN`Ld2I`JI7@ta`J{tFnnCDYtI9rvz%LRi^43^QFErXdLtQ{Lzv~9W)L-YjW+= zIh&>dD>YMp2YaYYN4|PVYGv^jVzo@tCiGBQ>P@hx=BzEuei!Ed3R!Dzplwd-P>Q=) zm8^P?#Nq%)6$k7^3>JE)Bp<5&pGYCX2EtEZpK82XFvDnmX_l_I7_NGO1}g<3t+$r% z&T-0OmEoV8B6OEQl%gCF?%!a{k8P}N_$?4bJuP8juT$rj_NGf_cW@YOlR;k%6%7zc zNO135516Y*C(Wx4)%SgmM+w&}1B7KS?$Bg^)peY8`yyaY=Z zun9a+$J09A2zSc9pgY&N1}P}dOj;U-mllXp9b3(?Cmh-ynU@ki_ha#D*!f@y+ELS( zzo|1h7JaG1{?W^xfpl7v@7f9*qRh}x;=^KLe}vImk<5JDL`Y(8Zh?^-jBwm>sniy( zcHfdwMD>+&1QXpdoSv@)x1AgGwL@$Up2mneN$m3T+1E}5^y!*J+%#!Q7}#sf#3j9A z)|PsetQD3N^|4(e(aTFY)&vbpl-SHKJErF+7BmdzX1SG_O59y)tJDP>m7zn!&7-Ehq;FmRlo*Eu4ONaUqfmI%bhgl9x_yFqVg_RWS|xESgfHh<+`h z=SGHUPy8-sgq)n5Z}QcE=5l>90bfOU05{#~ZATDdw+El>7bPL-r?GWlOtY2nHqD~KA3WU$w+AN8r@V$Px1SB1 zjEjQT9=@cX0P}07KAB;2)ods<1?*f9vz8AN7|n)LCvf_FBeN?*0VC*ZXk476Sy!po zEoaT&rSM;#knQald+jPB64oh1yKF4Aro}Win7f%3n6x!bK-dTfFZ`X_+%h4)EPz%} zSeDf|@PSHQ{b(AEGjX;jk88ZJfjZdYw59VzK(M5w#KxAXuU?)=|B;k($jrnH`B)eN zPmCDpP228)80Ibx!qdkBh8_jlE{c_vyiJc3qgq{`#$L8(w5sHdz$o%%>;`9$%L_9L z%GzJ_40pYw2ZQjU6Tmb{83c{cHT-y_Eq?PWxw0gY6TF(BcY`LzWech&CI!T78Y-q7 z|Kzc0IHKi7Dba1|h|+!fG(ua9BVwpD57iXesBFtd#)591MY$y*c%;$X%91Kz=Ku>X zw%0^T-@mYJBm}Z>a;L`l|GU3?h&gwT24iDHK43m35ZcwR#!0>WHkTv?pO- z5Vp6f60PUfYKmR_lB8z`EZlF_IZXxgZFfgPzc`)5%5qDHEsOA~+xfWKIi06eComZ> zzW{gaYn7thZ1IcPPRST5arO_%953gPes0TSLhwUFOC1A0!X@T4@H};}fHm@%b+Mr28yo6lsHM>{V*Q_M z*~l|ma@0+myJ5;`^q`oE*GnfA59a7-E*WdHuy{{4lJ(}2QJt~bcQ`yn(Y zhGnU{W0-=Gh|T$v<0JN{;d9(%zsx-}QvZ1^K*dTOC{>AagY|MhsfAb}X&sR_jf9O( zzaS9x?P|%IX*9(2sL%$r`^u1@g}TtTvbD6Wg{IZ4VUn;0cwXy)mAZEUyVw*^^n)_RA!kDg9mA%qopF|z%MiczivVTr z`AFxlrA`=4F>h(YCraBb`?uaAdjlg?+WebTy^S%E>}xkDBe~H`D-|btZ&!I`5lPKa zDK?>XAasHFR7rXE6)=hIgvJm7=b~OSM7h(sVH` za_xq2Ct=h zk$KZ!Q#x?ifCUky?0}(TZXRZ1hn5e->mBP$tmKE&usn)fs$X(32arD}bxUfT+c_bz zE=tyDtdQ{B;|l6lAy6IgaHJo+o&~MTqegBiUWx;p|4!d0mwP6&9(_k zE{r#`YqyKxOJ}^eM(m7_68k# zUV7d)Ya}UrHNs8UtwS~HDx7*-ADY&+d0Gw|%f7|ITD6tUK#!)28|L)M(yFO_+q!Mz z;c)u3T*T3Ei;{RBo8Yq6jx0mlu`>Om=|?3sPk1K;81?Tr5AjV39bd zdM|2IN(u_9Jn2VGu)=+knp(^a4%=>r1(Dj82H?@wDXLhv%B~R=`WM6rCNQ&Y zaR)Eb*E)r?S*}qFad@J{F6*|84w<|MGL>rBSmYGtDAk4(b=Sx47b77R=Ji~GVYjd{-?~2VJ+LjO` z8aC&_$FMZq9s`PZ4Z!v3;0YB%&#c zql#C)#!y9Mpc8Q`Q8lys;=fjV9u>>CE)bB};#<2TqIMO}LQ;vt7cZ^q8&ctNd)7X= z&Q1vg+YVB)bIT$f1H4=T*su(9^(5#Si0A#k{qWjgf=$dtrbCisVUxUfj!;4p5CvY))tAtXqAlX zlA6MR2;-1C4>)Q%xhYRkz^Hd8RW@y)HK;lzz<=aftI&Hm3e85}vCJEk5ZvKgrD$#D zfRjI!TxtE~8!;o!TxjhyLpR`#U4RDOE)SGYa^*_Op|v<3<#d3v-Anl-^bB*UtgSJ& z<1LA^Gs-4bIK5>k`yJzBe1Ca$b*u=$zM~%oS^hHA>A6tcpl>!@C22p;06CV3pi39Z zzJ9M4CXoeM@xIBNy)BhSw7J2>^qZ0ffyGEot;yaVb9?8(?hK3ZLb}4B6ce?JC=NTs-C3pd5B;f`2k*uA51F>?r| z6Bt~+Fw!A$$28vljt^c0V=j7bm|Xfwxp=yVz54c~3`7b*Pngi)j3Hvf_3dKNgqr?N zbiz_6F&hgFO+$A+TZS!WM+IW7ea9^-;wvx)iZ^Yz&{Rmd(Tb5bx z0Yu~zapYgOxvIgsj>urofTtZ=;j zRsz@NzHUURBI*4?ZjH%P<`s?!h*U+?A93GY0#y7lP(r-0%sgu(<3~(eq+_6U)`R-! zgp%;XLYIE;O+gG?^ry0KX9d2sH)@nc>I`rF>3VvB+aw@)SenvnW@bm7jT{jJ%Y}$b zk%g}dFtM?isTQTob+s8K*p2jO{mX;OT~~cO!nr70^{gg4ccwfWgmc&jv1=gqFU1gu5mDY0j!0vMF!e1=3_F&V$*7!pj&BbL=UWL zax|_Kd{!#!NVva2clLA4_bCiDM7mvsKms0-5sZh+#kaT@N8ikHenlFKj8dmeiIEQb zTGK?XXctQl#90&ol{&XR5RUes>K?JC6h?Qt!XRS7mR?_XN*M=>Tlo76^Pw8(lRw4G z5(+2Ne+_0`=tP}#m0LQ;%_OX%IxA=m?#)BvoB`IWt7_b^uEvLp`{!bi9sFJ7BK)D1 zBeYAK7auXc_`^rExyWG|khm!Si4@3?ha$F9)QD}S-0GTL)EzzL5iPvaH^dI|;%kj< zY-Wc$DMJO~N466BBl|-*i$v&a)Hpf)k@XNn9vKmjspO&UeGYt5QA^UZG%PYN6%u@m zE!VXw6yN?6cV!6~s`y8r`i-vW&I)u}8Uzw`PFc2>y`H~4P{rF{n->g@_)v%LHo-$VH~>(Kx{#_ClF;`eO34v&NX5-Je!(tPhXjYiCEnRLufdXnyO+X((dhirvQlniQLNWxg}IGHwoM7N%E<%jB|bJSW-j3yTCt|Q$G3W*h$en zF-l5NbFxAp>-l+6;feCERtJ*P-Cu+tu1mf#I5b9WZu^<#%lqmk(=*dIH_yCXWN#1G zIoi^@W9lO!vWeyNdw9$FLX=%lfY77?jA@Xn++ir;ordSk1BgAb2zH3|C zl3$yh+j4e7aHNk1cEk9|a4kgGBN9fX*G6q6lNXD-g;D`SQxzsTjW#elxDXG zJ_REMy=2sM@YflsBtR1d*F?Pu-ate!v_W%mta1~u5DJCyFmt%&&F*Q$=D?p!%k6V%MI z71fh|$0q&YSdU4O$eCD-qX%SPTT^$+n6f6wtE*NP*I4aWCO zvrHNJv8^ERCE7=Wf#uP1dyEo*y_{0EwA3^;9?)LM+48M>A?Fpp9=N_LEVqI$rEqh1 zrABO$aih1TK(^fMBNoKhJCS{Uv=TFXAM+`1Btdc*3cqY4M*p8A^UwbznayLeXI-;D z!)VfsoxC8wrra`C3N(0b|7mMjMVUjrxp!Yb$a;}|bY0)r`Xy$LHlXN_kwViwZx6*U zctl@O(6_pT{|II@Q2ryoA;+)Ll`25Uei{SYt?7-EJp*WrNhXw3ITb`-BRrq92W^PO+d~T%fuU@qld|#&qYX&H ziELeO?Wv1#(gylL=#~ebYC*Zsa$Tb9#umNX0PoZKTuF%+Iyc>jiaC9#cn!hX1(9O< z?<6U-Xysj>MC)Ypq;N+IA|vk#Xj}7h&FJNKsoUFV(z+mJB9r1JrB^-^a=9t`6;hDa zvUXNP@hb|mfLK!N=e5qvk8x`#n|y*<|Ku?C9b_p_5#Xf8Q`Vo8ECB}xaU`JSUJh(8 zu#=(oY7As8SmE^Q_r1SK9<{s&)B_Q|(6}7RROOU#8CG_mH22ym8o#eL|D;vdvM3`Z zB1yv$1Ph}%KEvaTH;5Kt6k?})h$cSj%BwauMcMIxymMYrEn*y#=XI^IUbxaJtr{OG z6u22MG3jYYPcbz;1U13x?gz9~?t?d(I8w%X4P=lonOSA^hGo8vySW`%jL@T9dN^q1 z{l;y+ySYAB_W2mli#Go##4s=r*pHYUyjJJ?OoqJB1b_s59D)KVi-G+|_M#3)ohZsF zxo{c^-O!4Aw7Lj?`a^He0D-L^sUYG;VUn4>udY5xr!DmE5Ol0zJ?ZTub)U&)Y77$R z%^R;+C~R%zA}Fg1m}q4^8#V^nAU&KPt}5Xh4^hc_{Wg#1-@XDk!M^<<_dv;Uv7MNPZ5%%3II1sAur| z`@{WZ4N9%v0lwsKBn^OZaB3+TEh}WdghWP7y^jc!Rp;_Z124H~uqpz|!N4d_4>3tT z0?wXTO!C49@frfho7%g(CYw7IR+~Z&7+CwRo}&2Bf|l5jBYEOD$BYa6&Yl(jm$`Us z0AM%lwV$54t)FDQo8dr$N)8g(H#8A<>Sj@2*n^Pu6h1IaLvrX&-O$0{e9NF@FYA1T zu`h7T3W6mjZog8$w2#2^8CgeGKq0kdwV^&ibo5BC=J58d6z=pk@Ui<&4n*J9;Xez* zPQ=~!j;%zDt98u6U({s@a)VKyZ)CJx)c?u5DtK`(GA$Bf1NepeDQu?RFU)9v192V; z17K-Dv=|5*m-ig{F^^Jo`8j}ox&s`$%Tb&SXQRKj)Y+NFs49OImOQ1@vFu~L8tKoJ zByqzV+2(9+H}DtxER#aSV-nRXST1f2&GUNe?}cm2V$kx}Cd{B+EOzL_oh%0qrP@KwgqGdBXf1NgOp5ENf=h|?CSWGpG-OWmBp@Md_-;p< zAJ_pam^?oZ5h}twtcnVdF;-V0UxczK2~PbO8zAK)OGlcp^!ZIy{hw@thF2?<(_vUkM`WrJbs9;8XZlqc+0_llBVx<%lG`jo1heeLkmj*~5-Ti!+? z1~Ut5y|`{-aed<`B-J2gRzy8TTQoVAPYzE+*&dz<8Tx3&7wYRq5{3My(4-zdNzMX_ zq5Ql#r_|2Qd8N1?8lKRIH_B+v`jkh`H;$%@p=RV%bh))tn1`0Q8F9^7oTc#XgL$tA zo_3IcCOGKc6_3?%Pr$1Ud0fet))HnTzG zsD28HzHzpgZ^c&drVVOg{=VHtcf_5gN&OrRiFACbJsmMW)fOGpTJtJ@>0$F4N@UTt zB$|EmoO3+j#Y=mNLMQAf7>V7q1QzXgrB?Ln-=C++*KEM!I{{SRi zu1x9n6S6(z2?E}9X+1wT8BtqkU{pIZ0xcAY@fL;;=xU?oR*E!j)>eNGHiVyE>@2Dz zb;qDHdoZlWXHIc_9x=52O#v&syYM)IeiTAAJ7>oQ!i2m#Ys0Ukt40GYk>^QT?{3st z`YkR`t#vQJNjbT=ja&g`pa}XlgeCWHqfUZr68$6ikINXa_iA3o z@%uQ4(ItU4@IjAC^oeX#Uo8k3H@8paa^Pc8BeYJi)pzoV^%MKJRHH8CL-rU2A^E10 zJJ7+Ap8MtO;gO_C=O|fNrW}C%%98f@I_1%jO7%Fe^CQNubT;L%NPqtMOxbMjg( zZdbl5uXr$`qXt98gGIXdUZp9Bd#Ap|UG4m$JQ%vBoBUfin<+n)GDdgX+1u!YUf}*x2bu|W87i7*4`}uCq&yfaQ%asfz zfA%u<7aJIbPqhcaYV`rW$TttPe(Ow>(!Df0xZ{sWDAx^Y$p!E?cy8{ z!QGrl#@l0~y2{E~ZHTpEGNsn?xE75|sIy9hjj+4_a5mzT{8i1TKlQYDdPGc+pU7yp zvwP3C+%;Yl{&X}D8>2wc#I5>gPe)o_5EoWio<4XBYhYx^ zU?5BQ={7h1ZZrK=@-2n24Zi9QjZT@&r(af90x=J9w{DTYV{OQQ3vnX^JUax=GdntV z%nTt%*Q;Q0N(F~NwRhToD6OT4ra660PNfQW@pfF+9K9!y0p>!oq{7!b$qPra^u>vVB~E-J=T6Ow=Hl?h#eBuz}D zXGdLngjsdO@5$14T}8@^Y({6eatXDg?a^MFqoUN}9yP{g?_l&TMLuswsbIO!w$I9n zNW;T`s^Edd3DWE3nHQ#s$ea2cpDDh_NwVklXB(4~-uzv|bZp%Dbzv11tBM93MDM6% zi@}$|dwgp~1Kd-~pg)!1FKUqag?1QrXf!>;wp?6e#Agea`S(Ir-{lvxZBJV4+Mx`~ z>VqTk8dn+yWlA=VT-=`+2q0@&yFmB;|8hW=aKsG zWGO}W>PvEyUDmUsM2D5r)$x85kPNc~cdso=4j!L?8qhk6HHE~&g;?%yUZk)0I!ZZq zX4CQ@E#u{Iy}tnuL+x|b7J6vEGk_;JuoY1K+aNyN5$Up#qgCE=gEq6wv+|O8UtN3S zmDRy`S79ZEc8dZ;XJ@54I*rIbZwgifJ%4p{St3?AJGyTe2M2@87B|tw{iwOF5Zw^z z#oOF6=OnNioY;5aFaLISq&^%v+RF|@lD4xy(Y^oC^A)C}*CdHDxoB=8qGK0AfSJZ4 z$Ii`UjY3Y96Y~* zVR4Dj@YnNi`sI<)-?Az}4HgLAh*~SQxxx8lX=Sv;2Dxwf9q?>Xf9<+dYL@HRBlk@J z+!ZUNYuN5wCpy|zSr&;WU7vWzFvsup&1ajvO%yww#To$djxwT`Dg5I>ACsm7`1&at z?Ok|Va8H9(B>^jtPK&!MU(@l;mjqQ*k(jQx3}4;fI{uHgeI_gp`_JJDA)!_Ew$}v5{RiMVNR?rhV{0i*gd{QeL(>I3eAknoFi9PSHn`=?fVdU z$p3uu8Yt$K*%PO1Zbd7&jOIvO5%;GF1+jr#6aMwX z?((Nc$pM;zc1`XmzdqYN%+8*q8eHPTg>mDr0d>@&ISK@2&F$IZyV^ zr@Z*XItlf?1T})VG)UAOH=rBr9b03ANwD|G+pj^v{s`KzfUuc(0q04?x9D`O;;SPS zslGg|kH1wNn6TG62k}Vq2U_C9*f#zM{!y>P+0~iv@X_Fg$va|x!}^#zSwhm9jW8{n zp4LOSZ_G$7jM=r2kzQt;O|T71IdppaUXp4sJQ47n6*H8F!|5gs zs{i>neOrDBEqji#lMwXo4`wga`6H=vu^CTdrcMVU_Tbu1Y`xYpITCH!1$k<~W+8yU$_Q$U#E;Ww^SCjRC+ z>9u-@sEN&#?L^FNW79~XfT)9Bo?Rlm_K!FYwfgoCN!Gp1mF=HqfbC#mDP?tV~rVR`&4Nn zK3(}mG$$t^Vhz5>S7`LB{PsAk$%Wn{il$j2@W^9Xt!;j>jYrI&7?djGW zeO!v+@V3wL`i&9YgAk&ybpBvUWoZLj#=NXL^tW*g764*#*^F+#Z^WfL z0k0IPKdL^t%s4EjD?9Gq9fSsvwfL-Qus-*WyW&lT1{0FfCJ4(y-f?^LJySEBt__Fb zNw+BZf>4YIK(dlwf_HDf}V5b5n`~XBl zkeQg|iSBxt64_Y-*vyRF_S$YGBxQ5TPA+_}Zcdga_byj}{m6&KsX`;J$xROo-$N}B z8_&0RK41-nWR!JqPu(UT4vkI5|KSDySaD@hMFr&2t#W7f`6oyaha46ZtNs@>lXz|z z9HHx5EU)n7TDY*lex)&&2DP^>&lR5yZ~^tF&wnZD#r-wRJ(yHvpkU1gl!&AM=q={k zuoYG95io8S4|btrBYWiyd@CC>+`}fmI4|Em!g9(jjlQac{~GUsPbGJnGiU!Mrb|ac zYT(nou-j@EQo?uUfcu3h%*!`a^>=>Z zCY_$xw9*#L%<2YNgF6FF$LU-1GW2%vxP1!PZ>6fEgN93ANwzvNva+2{G_1SK5sFKeA^aXUcp$j=i{iij z9c=uGQRr-7;GJ|F9%8rY;US*+33|a-zob0aoP2uY4Gp1KbXDFII?0ueI9r$AD1Gld z4`f|IN-VWIKbh`uLryE9Fw;$H@raN8Pfq-U_Rd~Y{(U3Hca2ptjuqs}i}2v3kNp9r z2rhNZua}VO#OgB09-pDUa9U7jXEoyXC$=;iiDTLdzTojKi#v8R#iOMv_CGrcL_N)U zqn0*8e*YP*e%=L77QX^SUMn(zUVzQ)uOf^^YZ0a9h`h5tKvbd9Q*)QMeEAETnuy+ge1w4b%d)z!cWi zEf_!hvd?S55Jth$X5(`Dn>j8z4t`VEHxNn*!*@ah)SRID!cA8tq9)9CuOZ-ZD3=7d zK*+*+Sn5g9@U-(%XW|D2eiSCjP-~F8yTJ z6w^tGiQjP{$&#(CEV2|8 zUix4t0B{^K-+3?;bY?Ly^-tw(i}+x%vF#R}FZ*?6Un2FkS9!5;+1kA4*yN7Otn!)6 zYa&WmjB<~zeBG41iiajNZ%e$!jSCV(`d23w?=|oU0l(g1=9ZVI~Eq!+k6%-uDu&=+gBEc{8bWL z>9ae-`}YYQ*^~mhwIiAW8F90$CF5R05kCxw$R0i8L#qDKcA}xN^tK4pcC|mn_DbY) z`=eq)^siX9eKIZ1!qA}oVKeS-q;U&R%YUAeo1+^QUp z=5!V6acZjJgaIEc+4{8Rk(-}?t?1MdzTjx@B}f-iRb9O6o+=`^@JbL~-K)vomi}uC zy?U2Mg}xRnx4MqZ9Ar?(m#gVf3sBlP zTs-)an?-JNDU(cuw}?s7V7YjFF+)kL`~#g?>A{W-dbI{=S%M(_(kP#!Py5`6jnXM;_f^khQs+ z3^7*Uok70Us$jr*=NtwRXzMu6ggiHLYB%?ZqaZ$-j>E~!DgAo{F3u{*;(2qoVC_HJ5hIHhdpFL z&_oLOOV_r2kj46xK^UjU$1~pTT5hU5&Dp?L)d&N#?*_b5OSy*5v2Hz^ewKV0D*4-5 z3VnPP>(f~ezHmV55}{}A@%P*XwU##JMW1mzZj`9 z2CDf4e@S6+xgGf>Z5?nl0pEy&W8n*8zZN@wdhl9XPLQ6C>t)s9m`-ne503vZ2i-$1 zJ*+_;7PaxQ;z8_V=-IxcFXWTc3@5R{qJ{P}%wu_~4A?r_pXjgBcgcf4eE&)1LuxjK7Pk zwCfdmwd zq-{$A4AA-;uoYEQW{x0qhRR!o&cW+8=*lzf7kZw*%b|8BHC#0)kfJTJF*=&5|zz}YVVgg_+XgG)_#f!)>7Bp zk!QuL6BXA1|LZ>n$~ty-en{WL!{fG&E>7JR`i&Ee`5!JeXTfE12eqiWk#gX1{BR70A(9Vr)kg7YIIBe{n3e`5?G5Gkat zuFl!#Ke)U7m|t8^#D^bu1D+SrE3++|er~U>(s_h*e*V{Ty|hqY6ooIL<$Q@e`5+#K z3%oYVaeG+TPLOwz<%=%q@u6W705W}nXR2DSXo-^Wrf-FAB6_(9D5=e_)L8hth>aru z9+#AiY@-*R(!8hRC`M9WTl<$G_yaA5i*wss938T-9V~9E|2t_kBxa=55Zb2GBE-eP zalLpg@jqWhe;~uQ^9eNg=_Qwe%|dsc>n+Iqp^)IHoXk$(U zlnwsMfxKt4B2>Xq`g~F3`i+c4L5$`Kj^5(8oh3oo@j2Z zW$mVP>f0tCXb!gZOGzemZ-6he#@}dI!khn(X$s4l(|GX0^X2jWokyZw`T>z&De}KJ z`1tvc9QZw-1TQUc*Dus1LLuhQ*};=GNA2 z`#KK(!OzpRKF$ozJy@wTHt4Bp=`wA1Iy&lwPaQwA-<8PtlOAJ)q%7%{zyU&q>KX-6 zUj15PafCl6?NZGyu7f@&9;C zmQQaZUMteh0L`QvD9tN&7PEWxEFC3IjIcYv5LPQID|$@Be}tCFocP+ez^faj`rkIj zrT?GNNXY&i4H!@@+`qD-^Jpt3sfJ;^^P=m6O*0oAdiM199$>-13Uf>4gNnL>S2GrmcOy< z|L@2D%}*|Ja+^zoHbZ#vIKc5rB1XFJd&PEC<{KumI+ipPKYQCVBtV<;qo7bUi}q_G zFju(BwtnBGXa6_6qe5z$=JxA?qC5@$$Gqh)@=s27m`=3{`nqxklJEaop!etfz5UH< zi}G+Jt-}%;hO*51b6BRkr{5-q)gC%tyDNPq0Mfn_&QjE6Hkmuce)C8D$W2zh{%Z0g z6`wgRU*ANN=bsuJr6Z5g+d%JoY5qP|n&uke8wuCVyM9o{x|J|Y9z((-UvF0I_%qA>y4liUJ0==cD$gTRy^`(>1kne_c#4YL%1qhQo)#85)Ta@Ngtei zy&j3ll9SP@(a;A=ETLa`$|~R}K7V33r(&brqe$EGbU%o=^^z=)M6w8}>4m!gWIHgK zxi#8R4f~aMuqVlI_dC8MY*B`VMabd{l#u>@hs_iB*1G73T0*b)E!Rr-rKOx=$?y*{ zTfxqcz>dCysfQmB#|KBEmZLAv9?fCR#I*(jQ7?+{H+jha1b%*ofc5Gwwxcr*#Znh#b6k?C`To)no zJj?K`WlDgAFs7YqNji2j+<7$Y7w8>%w^Dd zO`ACV$v+l#fX9G6zON~GpdM4th2xBKI2+z`Jah$46iNOk^ zi3wg3Wn6xA1$cd-YZNXapTsW|5PTxHbzp0CiKx$)X#tlTco@usXUK-o*>jvG`ZHA# z2s|eA0x@rw8QB8xrDFC~@8)$_^lz^O48Lefo5Sp(v(|yY#E9WL?>+CYa-hJ`17gTy zv<}H^>LQe=<6$vv<#9xO6XB2%K}F%i4Dr)RL~HfwJE0jGxfqY+h?je+^k-Ktv3cgS zl*B|7c0*FKfPhVtOY5St%6deznI3AWjy3Zv7J0-K)IIE}`;3DPe;tVDaEVxCTSfM( zA7`4l7PB|hz=#wV|HPldS7a3A<9M4UU%iJ1g9~8t=>mk2PH6hybIj?hFW*CM`~{jR%)YpeTK!V%9y&?8*-^$?`)9BDY`O`jkq!H15H7`{!Q=QCKWQHOQ)DK+&H zRbK$-`*vUe{OdWsBZ)$|36Y)bb8r++Fa53029zuj&*3db<${o@T&DXYh#bn(Oh3Op zh1NDuod3n^*q*)P&QIOudbhZUudn9zDXFhzzWRcQ!}rT-6mrvTk6qY^08t|W;JQ@d30G0 z6HE#mtpx?_244Zm*MnuMzpN6zos=*a6Eu$#cU|PWEUV%MBT9XeXDp%+ca^{Rb*>e* z|60OtI$&yb(F`87gHIhH)=yt?q}ih{Kup1Pd(;>ifkhyv*^m(yjI)pz4wu0xwTn6O zMI27|jxqUw<$SzEEFbEQLAKIlVMS(k*^dn?Vz_V4C(?H8UYEv;L?jJ3c|kGKVZ8Q; zuq-9EHH?4Kg0i^6wJ~y*1)284yB4ZAIA{KW(!HI&9pV>JfBR(jEWrOTAR9K5Ovt)$ zKT^Ygo>E{Bt^)C`HiF>pKUG9tz*q|F&T8nXI#mf4Tu3==B32^cNq?OHl1a`d5R$id zfuf#&aGz~uZCvRgnVQ43m|=bKEfb<@{{z9f&I-QwiG3h|zcbn^S~)+0aQf#lWK z3yJ;Zwys2sPBqm!o@fCd`z}(bh)qiE_Nm3!cl$`ujOf~ZsN{47K01G7Kktyh%;O;B z_7h)sz&#)rQi=VQa}K?*-NMyjXRn`8aD3mA_(2pPi5mxvq{*+vJ8l%GEuprBtm9eP zJ{fDudh|zRzBI{fA-^QfT{dMY^0^=hUq(TZl~i@*r9(e(M?)*k8EHwFS}+n4X&Oya zOnRVvHCprupbf@Ia223Tlv8dekMCiUMtG5C~8Djq4Tm&f_ zT$XR+;t0D8Z>{ovd6O%fiRSn*&SS_==&uqI-x*Ajs>rcu zEteRAbzI4&y;L8JG0BNm`wuAjpvNBvd4cH&fvEHuME(W7t|^lEZf*t7C>+YLZ%D;i z1Sl&X1uTy!yW{hOQlxI1-&v>gEk4 z_Rj3M>Q#?*K<-o8p=wWRhJ&hOuve<^6O6sum+3|WPZS%@CqI)}YHKUv11z#6Hcl06 z`q=iAga!;0$6;C5_*0{{Mj(3rX1ftgsmSW%V{yw#;_2#8!TbBAdi34oq4Msy1^UY@ z1_M6GVMZ_KSN3T`@vSnSxPul!Ltrt-G_jWOS086Gt=_^sHr$hg3Hk3y<;Vo+&6)Be zq5-hHq3q4xn6`Yue0_Yu^-nBRA!15#d`461a{3 z-fiVC+hdIU4~YA6^BNxU;dID3%jjZBIT0}{8@(SawHcdMiuvORA3^&&m5ehzE8bLO zCt~g4quX)8X6H7!>ofDh`Sepn<|iEIa=YS%2Ww|%!nj>s1rhwqYdZ34QFX_Rjt3OP zh=)@P&G)a@kFX{36(^)wXZq zyZe<$hhVjUAiQa>mg)_`n$LF~v31bu0N)M|y_@KOx_grnRSb25i_yvzV^dM!u>hSW zu>F>=lEPsZL)@J+*nybjdVqx1@2HyAg~N8%4Ta|(=8d*L)Qwu5E>J8K+T4>m6l1BG z_BCf(+mA8U#YLz^zCj4YqV@yM~>XkS@F%fhIR!aGZRLrVDe_pQE#rn5C_j{ydHY2@RC^rfqog&sheYP}dijdR`LeC~(mS(e3XUn; zif%myP4)u$Bnp*z^W@}@r%hW16qn=(>SV3mpA3Y0^MA;=T#7C#K97t&rP9=x$uS9t zOlu4emRSx~;Vl*rg^ryX?hP8#UibHF2Fe(vn-Sr25p8WxS{;6r3T2x`M~_8$&Q2C7zqqs1!zW;^XCpnKmHX;Rt9+XJ?7M#enuvF}u75N=K21cX zh({|V3)m8734~-xBXKl18QtBr4?AJx89$xo^f+s-b;nDT4c)$`P=jbyUFs2Mwc6=^D)&%kgzVUU29zm$=oe2A$I`p{D z5YS0neeRxNltPXsAHC0#o-DmN+URNl)Nn2J_Mevh2eSf%qxeLXLusD?Y`1W`Bl?9vj4u}f^O_zH1O=AK-xkjGy;JrE zBF!7@$HUtB@ZyLc5|M9-jwBOIO3G49fY(~^F&=&iTp9b`pyxGduO-wuo3+Ku)1Nl$ z{`xxNnKDpysMn}lTD6HqL`Ol(X(K32xD);tbZwy zPrCPqEht7E9FmoUnS&+Jg8*g)!3Pc{$M713f=l%srtc74-YXFB@U@@H<*ajBumH!1 zy@FTYhH%%qpcl}3HJKOFSPCvngBmNc6&@pWevJwr94MK^U04gKjwYIyFI`{;Idz}9 z256J^CXD8#3REW5wM;d?UAGcn=`ji=Q#9w`3TJ+oww=R;ewGF_ins)o-zJDl>b88F z+tonU?aHtP9czzxFCAB6`uw6ga9&&XPPVf5TJ;!@tn3V&9Nu;CWd>=4JUp+Tk4w%J z5Ets3>u)5CUp(Y*VPL9NZKVk*)KABq*X*)Lb3W@I|HB(oYX z7{2)#*~6B!eEhoWH-Zzecuy`RV0!r(_*9GNyA03iSzooBH1oJh)~5FqwkP)K6V=q z>9igecS)_-AEWxV5wpS~Ua&wLP@VHiz;%lw)|=x<1xHC3+2Ndu-RF{%PfsZI_eZ?^ zSk<+5$wecbl~~Fmv|6$M*|nR_4~aOiu2KL+@^u9`dkoAG19!PBe;-ZYwE)xxmf_!^ zS@H(!JI`h@OHkT8M$RT33PLn-W5AjT!;Ju26PYa*J@+l{?%o!B>-e4!UCUc)x$F95uf!FI|MVW6Jusnlr-DDSXpw%c~=|RDL8Ia94c}&w~;7Y}iY0g+?*) zeDlLlv#$B-@A7J$%5GnKV{Kr|48s<0&iS^Bx^OpjMr^z~4&@RaWp5L6YLCt@eO$h1 zmu^f9AumQNNm;g(w}~_OD9x)g{kQi0DZvQWO<#AvK`^d|DpEH`H`91i!kKC0cemdIkW1&VdunJ8zB z&Dr+2dNh6?n$lT&egrS%vYPq1v?_-!1TM6p6W%OyZ}z&=eiiZ)u!Df#ZXH7t(h!dk(YxwsEg{MYOEqFjtW*n zjJBb~FIh)T{*~`S-jxAN5lrh4$14L$=j)l>VEa`LICGONlGe~F_qH|531x4K<*ps141H#XbWdi41s7A?)C{T21&(WcN|5#CBJ zE@9iqqUF?(an`zhk8H z{E7#TD;Zr-H}t;KZzXMN3Q^gRdAK-wz3#Q^{Hlg(q2KrFBjkKDi8odK8L!M$RdXQ9 zR_#J98xws`&N!$5(6FHwr7Nh_;9D9AXrzz|lRd90T>}Paotg!^@Rx5K=g+n#v81PX zbE@7RUPg0&+P!G=7w1MI6tQbblm~iBX~pr3KY50^2+BU~x(V{mhXvolkrJScJ4E+z zv!(h)fom9J?uxNm&HC04HiF_}Fn136HE);HjZ@rN4XscPk8`Ys3r$kbB%7{lcyp?# z<8({rBJsC6bE}#$yD0!2n>*@<->PVOGM9+BnE3Ggy3a})ru{J2((%Q0JylYJ^P1(C z&yhYHne$N;kd|ifxOnfsL4p+vY(&7PhXbh&9)M%ceG#eQK zy*f);E-Dc-hU{+LH<5P~R1`%5&3qm|zMjKo#inm%v$spKHEE8CYvl#;x{0v)QX`Ns zSE=Zl9NccVj=qNSGqWs_PMC1Gm*9!>MOXP(kB8}IIk!rTykogBoVAa@{c+|wB*r_e17yFKP&`*M>oqgz0j+k(CM+`z0F_mVR3>++)T zar1nzW$nhGzVmycKZ`i5D0sydQ<6o@MzL+m#4TSPw2+cHiMudK03{KxT?iFu%qmT6 z-nm>nf%Rt()A#KBm&~D1jJCX>y75*C<?&$;qX(UBq!}cSF1=m(DP?HxaRxDH(fB zy1|7jSgbOWp~FfNrPN(LK3IA-L~oDfil&b^J!_LbU=y?KJ$&=6-SYFS;~j&oXn`2# zN+{1Oh>MBw6cwOXaUfAB3>YSLsojI0@Jhi=8A-y7(}xh-XJ3W`LIKvEbVB|Zg`o0kycrz;cV{&VKJ45NP7P|U)gtTY4ef@6O*Qq%}P0s6pHZM385+ltmJ)WbZi#sI`5NyX#nhVzY~S(VX;x5#=5NWC`ZN5-GU;wBz_ z4HGf2D2+eEj`(?zI8RHrI<}%2o%54<`IotYIoAeCH!32)VHs-qvx_I7_&OGcPHuv$ zo2>BV5c3;k?B>?DHS*M9bK^XJ$2`#k(8--eo;ZrZB9Q> zu5joMNav9sYjl^uF5|Ge5OhQR=})Z660rScA2LdUOYHYRVyMDIykv(IY74`sTc`Mb zpXjXOD!giAx=0)ocZ`IM9BHW{Fuz&DJSh+D`m~LJ{CHR5Wu{^35)khlrvr@ME%~F7 zES1#gsp$ym`1W>MrIi*AwR~1nxtLm}L)tNL+ad@Ep_^@Tjy0WM=Um1IBG-67>Y1M! z%(Y&#>T7+ZJ0n6o~UPMe_M z?MauT_C2&sBh}A(sDBxTX_Cmn|M~i1l3xZ4C7iZqIH=z8e!ej{w6cN^!+Hq67-_la z_3=&O7BxG!#kxtUcy5bUp|1=j$|lTk5Pey8$n;wpsOoWDSU)uH8IzZ`LumamiJA>{ z;e9Ng1J-WPA=UOVQ;fWIoWAtDx$rTsd_wF<-;fwO|JeF42S36e!0g>fXA;P1|61>z z=A98LO)LK+H_Q5GP4_j&X%UC17GGv;f;BZm-MYc~R8kg_b9D)9Cm$9_oiqxxcuTzI zb3pODWQQEV&;Rk!+b56v8`w;?n4*CmkAgjzUrD}vOUM>~+Fo591teGaVqrvZXu^hT zX~XFE;xgn=ZSIsPVyD5}PU9vV>|}PlugJaBghU-=;cMyFy-|r`(~l6|IVYtn>xiBTc}#o;M0K`W37qc^5y#(Sw zJSF%=pBn;ERNaQ)+r4j)&d|y%G(AY1RhAM)9?f%+* zT2nglfM`4NUhH@S-e#b1FUc(`YzSGCc|f3?+cH$Jf)n@b*Qj(Y-EAD}v8G3uQ82nD zGgGo6!$)Jtb5O&Jw!BR&HiLCQwpGqIY=oghF8$2u3wUo9wFXiV%Y9c!hZZ23*E7sU ztlAEGymU$PQpmNH(IAfWwX~3AXTjU0kC2j6@Mmz0s4gDPgoaP@xW0#a3&O*X9kSX! zf;`U_V6Wrdw@(JchByYsew9Yw)PJNdJ+SEaac%8$#a9hY;?M5g8(t6d>$x+%Gy^}( z#Y?R#(!z3{Wb$qXocP6FEVe0XUT8&L*5ebK zVNdu`H4o4ZJwmuGcDc`^Li6b6KPEl_B_KY6KA%C{* z$))?q*B&>%CM29!MwR2&Jr%-_Per&odgF*CV`DYVd*EWV_>nE$cnA)e#U)@JKS544jqe9)4&3!V zF5j~D(csDrf`>ng;qe0Vp;APpEttyF=Fo4x4E+Ilmrj0X0i^2bsl=Tt0$>@DEb1rB zjpc%Wn<|CfdcAYB)Si8T;?=7@uYQxhG7w{O(t2@pkX^AK#yQv`w2`xEK(CD|5>z;E zItgij+y!y)u5fS?%`O9%E{tgg>4hjfCj z_Zc`scM7))tHgm|uMlJx(~atNMsb?4-5F6i0$vHvs*p&%1B`;Jk|U+c)Mnva^nlJg zZqANt#&F8pY8Ct|^}eLE<8M>x1qI2w&~4gag;LH86Rp;uo-Abt@SSH=o^5H9XNY01NI8Ay-D4GI65JPCm(9DPSY|w;soY!V$mdsbPY6_0%*{Q z-4b^$11!{olKabdd%Ye9HC)N^chlHsY9|Us`9p3{nfj7^>pT5a=9DYoU~ak;WAMhS z!jSsFtf_Vl4s#uM?@L@7?7Go~rgt=BgG8QD*Mz*2e;!ykfKJKOxRakbO@2ogAz;RM zn<+#q)1z_7=SiEzcM}Cc>+a%!l^ zO@n(%4IBo{b)O+);BuLw6m&p*9n~wHYVj#I+spBG8b;YU_LP)t{RrFI%4?;;deg&`Wwt z_>OQu+4;Au!#Jj3+2Q&3BKq9yK|^Is^dt?{m<3g@%)Hm@Sh{Fbx1zf@0GyR%&-2u} z6;(z4+0nwx#Im2StZY)z3YA6tl-Cc&xuVg}`JUZ6BFR>li{Oy-!ZG_#Bn4uwASPCl@@vgY?2Ii)7G98s;$B{XYS&eYpBtVjn$su zC>fXhM7dQtE~cb88}}nj$ZhlQbS4xv)Q}5B#w8=nG04iV=UiS>s5@@M2;#3+{?s5C zSOVCIgknp4YRk%B;8nE|w`R+O?6tV6BZ*B7A`RxaL6&wEkL0NPh}m2WEViiUHxZ?e zwP`!qCw_Q2i~+Ud;1Ak{^w63#nT)o? zooNxL@v;Gz7hUPe$QHN#_(u$Po2{&a}Mrm2U@TCO; zm_M_uA4V~v{#^gO>(P=L{|5N%5_tOB>l~4jSxjVE7fGUa)E5{9Tp9Z)-Di+jME(iL z(4p8Dm>~;UW03lzXc6sgZkr=H63F0Uoqb%U zR*+v`Fb1k&z~`0+F`frd?kwiPvW|#wD>ib#`VDj&<5@ z#PC;&E@~|rx=J^0ol`$V&QrR_u7d@RgiAP z4&oa{f0sKM*93O6q-uU!l)9~