From ac410e5be485f69f251a0c8193323259b4767ff4 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 25 Nov 2024 10:17:40 +0100 Subject: [PATCH 001/121] [#26180] PDF export for time sheets; part I: PDF skeleton https://community.openproject.org/work_packages/26180 --- .../work_package/pdf_export/common/common.rb | 2 +- .../pdf_export/document_generator.rb | 2 +- .../pdf_export/work_package_list_to_pdf.rb | 2 +- .../pdf_export/work_package_to_pdf.rb | 2 +- .../index_page_header_component.html.erb | 11 ++ .../controllers/cost_reports_controller.rb | 10 +- .../cost_query/schedule_export_service.rb | 9 +- .../app/workers/cost_query/pdf/export_job.rb | 43 ++++++++ .../cost_query/pdf/timesheet_generator.rb | 102 ++++++++++++++++++ .../cost_query/{ => xls}/export_job.rb | 11 +- modules/reporting/config/locales/en.yml | 3 + .../cost_query/{ => xls}/export_job_spec.rb | 2 +- 12 files changed, 184 insertions(+), 15 deletions(-) create mode 100644 modules/reporting/app/workers/cost_query/pdf/export_job.rb create mode 100644 modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb rename modules/reporting/app/workers/cost_query/{ => xls}/export_job.rb (96%) rename modules/reporting/spec/workers/cost_query/{ => xls}/export_job_spec.rb (99%) diff --git a/app/models/work_package/pdf_export/common/common.rb b/app/models/work_package/pdf_export/common/common.rb index c91d44836ab5..7ebeeb899ef4 100644 --- a/app/models/work_package/pdf_export/common/common.rb +++ b/app/models/work_package/pdf_export/common/common.rb @@ -35,7 +35,7 @@ module WorkPackage::PDFExport::Common::Common private - def get_pdf(_language) + def get_pdf ::WorkPackage::PDFExport::Common::View.new(current_language) end diff --git a/app/models/work_package/pdf_export/document_generator.rb b/app/models/work_package/pdf_export/document_generator.rb index 37b69c6b4ea0..26a3a46ceb88 100644 --- a/app/models/work_package/pdf_export/document_generator.rb +++ b/app/models/work_package/pdf_export/document_generator.rb @@ -52,7 +52,7 @@ def initialize(work_package, _options = {}) end def setup_page! - self.pdf = get_pdf(current_language) + self.pdf = get_pdf end def export! diff --git a/app/models/work_package/pdf_export/work_package_list_to_pdf.rb b/app/models/work_package/pdf_export/work_package_list_to_pdf.rb index 9a1ca49c949e..9b399c22d0d5 100644 --- a/app/models/work_package/pdf_export/work_package_list_to_pdf.rb +++ b/app/models/work_package/pdf_export/work_package_list_to_pdf.rb @@ -86,7 +86,7 @@ def export! private def setup_page! - self.pdf = get_pdf(current_language) + self.pdf = get_pdf configure_page_size!(wants_report? ? :portrait : :landscape) end diff --git a/app/models/work_package/pdf_export/work_package_to_pdf.rb b/app/models/work_package/pdf_export/work_package_to_pdf.rb index 5dcfa09dd8c8..2006616c0fc4 100644 --- a/app/models/work_package/pdf_export/work_package_to_pdf.rb +++ b/app/models/work_package/pdf_export/work_package_to_pdf.rb @@ -63,7 +63,7 @@ def export! end def setup_page! - self.pdf = get_pdf(current_language) + self.pdf = get_pdf @page_count = 0 configure_page_size!(:portrait) end diff --git a/modules/reporting/app/components/cost_reports/index_page_header_component.html.erb b/modules/reporting/app/components/cost_reports/index_page_header_component.html.erb index 4c59a126a115..040926aa6603 100644 --- a/modules/reporting/app/components/cost_reports/index_page_header_component.html.erb +++ b/modules/reporting/app/components/cost_reports/index_page_header_component.html.erb @@ -15,6 +15,17 @@ button.with_leading_visual_icon(icon: "op-file-xls-descriptions") t(:export_to_excel) end + header.with_action_button(scheme: :default, + aria: { label: t("export.timesheet.button")}, + title: t("export.timesheet.button"), + mobile_icon: "op-file-xls-descriptions", + mobile_label: t("export.timesheet.button"), + tag: :a, + href: url_for({ controller: "cost_reports" , action: :index, format: 'pdf', project_id: @project }) + ) do |button| + button.with_leading_visual_icon(icon: "op-file-xls-descriptions") + t("export.timesheet.button") + end call_hook(:view_cost_report_toolbar) end end diff --git a/modules/reporting/app/controllers/cost_reports_controller.rb b/modules/reporting/app/controllers/cost_reports_controller.rb index edb12e8baf26..f88e7b3c8ca5 100644 --- a/modules/reporting/app/controllers/cost_reports_controller.rb +++ b/modules/reporting/app/controllers/cost_reports_controller.rb @@ -87,7 +87,15 @@ def index format.xls do job_id = ::CostQuery::ScheduleExportService .new(user: current_user) - .call(filter_params:, project: @project, cost_types: @cost_types) + .call(:xls, filter_params:, project: @project, cost_types: @cost_types) + .result + redirect_to job_status_path(job_id) + end + + format.pdf do + job_id = ::CostQuery::ScheduleExportService + .new(user: current_user) + .call(:pdf, filter_params:, project: @project, cost_types: @cost_types) .result redirect_to job_status_path(job_id) diff --git a/modules/reporting/app/services/cost_query/schedule_export_service.rb b/modules/reporting/app/services/cost_query/schedule_export_service.rb index 991a38334040..31f722d7e429 100644 --- a/modules/reporting/app/services/cost_query/schedule_export_service.rb +++ b/modules/reporting/app/services/cost_query/schedule_export_service.rb @@ -33,17 +33,18 @@ def initialize(user:) self.user = user end - def call(filter_params:, project:, cost_types:) + def call(format, filter_params:, project:, cost_types:) export_storage = ::CostQuery::Export.create - job = schedule_export(export_storage, filter_params, project, cost_types) + job = schedule_export(format, export_storage, filter_params, project, cost_types) ServiceResult.success result: job.job_id end private - def schedule_export(export_storage, filter_params, project, cost_types) - ::CostQuery::ExportJob.perform_later(export: export_storage, + def schedule_export(format, export_storage, filter_params, project, cost_types) + job = format == :pdf ? ::CostQuery::PDF::ExportJob : ::CostQuery::XLS::ExportJob + job.perform_later(export: export_storage, user:, mime_type: :xls, query: filter_params, diff --git a/modules/reporting/app/workers/cost_query/pdf/export_job.rb b/modules/reporting/app/workers/cost_query/pdf/export_job.rb new file mode 100644 index 000000000000..fe6e94bedec6 --- /dev/null +++ b/modules/reporting/app/workers/cost_query/pdf/export_job.rb @@ -0,0 +1,43 @@ +require "active_storage/filename" + +class CostQuery::PDF::ExportJob < Exports::ExportJob + self.model = ::CostQuery + + def project + options[:project] + end + + def cost_types + options[:cost_types] + end + + def title + I18n.t("export.timesheet.title") + end + + private + + def export! + handle_export_result(export, pdf_report_result) + end + + def prepare! + CostQuery::Cache.check + end + + def pdf_report_result + content = generate_timesheet + time = Time.current.strftime("%Y-%m-%d-T-%H-%M-%S") + export_title = "timesheet-#{time}.pdf" + ::Exports::Result.new(format: :pdf, + title: export_title, + mime_type: "application/pdf", + content:) + end + + def generate_timesheet + self.query = CostQuery.new(project:) + generator = ::CostQuery::PDF::TimesheetGenerator.new(self.query, project, cost_types) + generator.generate! + end +end diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb new file mode 100644 index 000000000000..c4cef17f2493 --- /dev/null +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -0,0 +1,102 @@ +class CostQuery::PDF::TimesheetGenerator + include WorkPackage::PDFExport::Common::Common + include WorkPackage::PDFExport::Export::Cover + include WorkPackage::PDFExport::Common::Logo + include WorkPackage::PDFExport::Export::Page + include WorkPackage::PDFExport::Export::Style + + attr_accessor :pdf + + def initialize(query, project, cost_types) + @query = query + @project = project + @cost_types = cost_types + setup_page! + end + + def heading + "Timesheet" + end + + def project + @project + end + + def query + @query + end + + def options + {} + end + + def setup_page! + self.pdf = get_pdf + @page_count = 0 + configure_page_size!(:portrait) + end + + def generate! + render_doc + pdf.render + rescue StandardError => e + Rails.logger.error { "Failed to generate PDF: #{e} #{e.message}}." } + error(I18n.t(:error_pdf_failed_to_export, error: e.message)) + end + + def render_doc + write_cover_page! if with_cover? + + pdf.formatted_text([{ text: heading }]) + write_hr + query + .each_direct_result + .map(&:itself) + .group_by { |r| r.fields["user_id"] } + .each do |user_id, result| + write_table(user_id, result) + end + end + + def write_table(user_id, entries) + rows = [] + rows.push(["Date", "Work package", "Time", "Hours", "Activity"]) + entries + .group_by { |r| DateTime.parse(r.fields["spent_on"]) } + .sort + .each do |spent_on, lines| + lines.each do |r| + rows.push([ + lines[0]["spent_on"], + WorkPackage.find(r.fields["work_package_id"]).subject, + "??:00-??:00", + r.fields["units"].inspect + 'h', + "Activity" + ]) + end + end + # TODO: write user on new page if table does not fit on the same + write_user(user_id) + table = pdf.make_table(rows, header: false, width: 500, column_widths: [100, 100, 100, 100, 100]) + table.draw + end + + def write_user(user_id) + pdf.formatted_text([{ text: User.select_for_name.find(user_id).name }]) + end + + def sorted_results + query.each_direct_result.map(&:itself) + end + + def write_hr + hr_style = styles.cover_header_border + pdf.stroke_color = hr_style[:color] + pdf.line_width = hr_style[:height] + pdf.stroke_horizontal_line(pdf.bounds.left, pdf.bounds.right, at: pdf.cursor) + end + + def with_cover? + true + end +end diff --git a/modules/reporting/app/workers/cost_query/export_job.rb b/modules/reporting/app/workers/cost_query/xls/export_job.rb similarity index 96% rename from modules/reporting/app/workers/cost_query/export_job.rb rename to modules/reporting/app/workers/cost_query/xls/export_job.rb index baf38d88896b..443de7742abd 100644 --- a/modules/reporting/app/workers/cost_query/export_job.rb +++ b/modules/reporting/app/workers/cost_query/xls/export_job.rb @@ -1,12 +1,8 @@ require "active_storage/filename" -class CostQuery::ExportJob < Exports::ExportJob +class CostQuery::XLS::ExportJob < Exports::ExportJob self.model = ::CostQuery - def title - I18n.t("export.cost_reports.title") - end - def project options[:project] end @@ -15,6 +11,10 @@ def cost_types options[:cost_types] end + def title + I18n.t("export.cost_reports.title") + end + private def prepare! @@ -40,6 +40,7 @@ def xls_report_result content:) end + # rubocop:disable Metrics/AbcSize def build_query(filters, groups = {}) query = CostQuery.new(project:) diff --git a/modules/reporting/config/locales/en.yml b/modules/reporting/config/locales/en.yml index f028c008e55a..bf5feeb9ea5a 100644 --- a/modules/reporting/config/locales/en.yml +++ b/modules/reporting/config/locales/en.yml @@ -105,6 +105,9 @@ en: validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" cost_reports: title: "Your Cost Reports XLS export" diff --git a/modules/reporting/spec/workers/cost_query/export_job_spec.rb b/modules/reporting/spec/workers/cost_query/xls/export_job_spec.rb similarity index 99% rename from modules/reporting/spec/workers/cost_query/export_job_spec.rb rename to modules/reporting/spec/workers/cost_query/xls/export_job_spec.rb index 9fd966b4dc1f..9591f99fa78e 100644 --- a/modules/reporting/spec/workers/cost_query/export_job_spec.rb +++ b/modules/reporting/spec/workers/cost_query/xls/export_job_spec.rb @@ -30,7 +30,7 @@ require "spec_helper" -RSpec.describe CostQuery::ExportJob do +RSpec.describe CostQuery::XLS::ExportJob do let(:user) { build_stubbed(:user) } let(:project) { build_stubbed(:project) } From bd2b59648b60bc326ca408f9554185c869e59ec8 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 25 Nov 2024 11:57:18 +0100 Subject: [PATCH 002/121] obey rubocop --- .../app/workers/cost_query/pdf/export_job.rb | 2 +- .../cost_query/pdf/timesheet_generator.rb | 20 +++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/export_job.rb b/modules/reporting/app/workers/cost_query/pdf/export_job.rb index fe6e94bedec6..0e56f916350d 100644 --- a/modules/reporting/app/workers/cost_query/pdf/export_job.rb +++ b/modules/reporting/app/workers/cost_query/pdf/export_job.rb @@ -37,7 +37,7 @@ def pdf_report_result def generate_timesheet self.query = CostQuery.new(project:) - generator = ::CostQuery::PDF::TimesheetGenerator.new(self.query, project, cost_types) + generator = ::CostQuery::PDF::TimesheetGenerator.new(query, project, cost_types) generator.generate! end end diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index c4cef17f2493..1c6a6bde4255 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -58,23 +58,29 @@ def render_doc end end - def write_table(user_id, entries) + # rubocop:disable Metrics/AbcSize + def build_table_rows(entries) rows = [] - rows.push(["Date", "Work package", "Time", "Hours", "Activity"]) entries .group_by { |r| DateTime.parse(r.fields["spent_on"]) } .sort - .each do |spent_on, lines| + .each do |_spent_on, lines| lines.each do |r| rows.push([ lines[0]["spent_on"], WorkPackage.find(r.fields["work_package_id"]).subject, "??:00-??:00", - r.fields["units"].inspect + 'h', - "Activity" + "#{r.fields['units'].inspect}h", + TimeEntryActivity.find(r.fields["activity_id"]).name ]) end end + rows + end + # rubocop:enable Metrics/AbcSize + + def write_table(user_id, entries) + rows = [["Date", "Work package", "Time", "Hours", "Activity"]].concat(build_table_rows(entries)) # TODO: write user on new page if table does not fit on the same write_user(user_id) table = pdf.make_table(rows, header: false, width: 500, column_widths: [100, 100, 100, 100, 100]) @@ -89,12 +95,14 @@ def sorted_results query.each_direct_result.map(&:itself) end + # rubocop:disable Metrics/AbcSize def write_hr hr_style = styles.cover_header_border pdf.stroke_color = hr_style[:color] pdf.line_width = hr_style[:height] - pdf.stroke_horizontal_line(pdf.bounds.left, pdf.bounds.right, at: pdf.cursor) + pdf.stroke_horizontal_line pdf.bounds.left, pdf.bounds.right, at: pdf.cursor end + # rubocop:enable Metrics/AbcSize def with_cover? true From 2e1ec454fc96c7fc84d61ab19b0f49571d5b8c53 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 25 Nov 2024 12:05:14 +0100 Subject: [PATCH 003/121] obey rubocop --- .../controllers/cost_reports_controller.rb | 36 +++++++++---------- .../app/workers/cost_query/xls/export_job.rb | 2 -- 2 files changed, 16 insertions(+), 22 deletions(-) diff --git a/modules/reporting/app/controllers/cost_reports_controller.rb b/modules/reporting/app/controllers/cost_reports_controller.rb index f88e7b3c8ca5..7a06e2404a20 100644 --- a/modules/reporting/app/controllers/cost_reports_controller.rb +++ b/modules/reporting/app/controllers/cost_reports_controller.rb @@ -83,27 +83,21 @@ def index session[report_engine.name.underscore.to_sym].try(:delete, :name) render locals: { menu_name: project_or_global_menu } end - - format.xls do - job_id = ::CostQuery::ScheduleExportService - .new(user: current_user) - .call(:xls, filter_params:, project: @project, cost_types: @cost_types) - .result - redirect_to job_status_path(job_id) - end - - format.pdf do - job_id = ::CostQuery::ScheduleExportService - .new(user: current_user) - .call(:pdf, filter_params:, project: @project, cost_types: @cost_types) - .result - - redirect_to job_status_path(job_id) - end + format.xls { export(:xls) } + format.pdf { export(:pdf) } end end end + def export(format) + job_id = ::CostQuery::ScheduleExportService + .new(user: current_user) + .call(format, filter_params:, project: @project, cost_types: @cost_types) + .result + + redirect_to job_status_path(job_id) + end + ## # Render the report. Renders either the complete index or the table only def table @@ -366,7 +360,8 @@ def determine_engine # save_private_cost_reports permission as well # # @Override - def allowed_in_report?(action, report, user = User.current) # rubocop:disable Metrics/AbcSize, Metrics/PerceivedComplexity + # rubocop:disable Metrics/AbcSize, Metrics/PerceivedComplexity + def allowed_in_report?(action, report, user = User.current) # admins may do everything return true if user.admin? @@ -398,6 +393,7 @@ def allowed_in_report?(action, report, user = User.current) # rubocop:disable Me Array(permissions).any? { |permission| user.allowed_in_any_project?(permission) } end end + # rubocop:enable Metrics/AbcSize, Metrics/PerceivedComplexity private @@ -407,8 +403,8 @@ def find_optional_user def get_filter_class(name) filter = report_engine::Filter - .all - .detect { |cls| cls.to_s.demodulize.underscore == name.to_s } + .all + .detect { |cls| cls.to_s.demodulize.underscore == name.to_s } raise ArgumentError.new("Filter with name #{name} does not exist.") unless filter diff --git a/modules/reporting/app/workers/cost_query/xls/export_job.rb b/modules/reporting/app/workers/cost_query/xls/export_job.rb index 443de7742abd..06f6270056f1 100644 --- a/modules/reporting/app/workers/cost_query/xls/export_job.rb +++ b/modules/reporting/app/workers/cost_query/xls/export_job.rb @@ -40,7 +40,6 @@ def xls_report_result content:) end - # rubocop:disable Metrics/AbcSize def build_query(filters, groups = {}) query = CostQuery.new(project:) @@ -58,6 +57,5 @@ def build_query(filters, groups = {}) groups[:rows].try(:reverse_each) { |r| query.row(r) } query end - # rubocop:enable Metrics/AbcSize end From 45244d5503a20245db5b9fc39188911e9a6fc780 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 25 Nov 2024 13:05:32 +0100 Subject: [PATCH 004/121] costs exports: use inline job status dialogs to not to navigate away to the job status url --- .../dynamic/costs/export.controller.ts | 61 +++++++++++++++++++ .../index_page_header_component.html.erb | 20 ++++-- .../controllers/cost_reports_controller.rb | 6 +- 3 files changed, 82 insertions(+), 5 deletions(-) create mode 100644 frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts diff --git a/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts b/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts new file mode 100644 index 000000000000..183aa9ffc91e --- /dev/null +++ b/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts @@ -0,0 +1,61 @@ +import { Controller } from '@hotwired/stimulus'; +import * as Turbo from '@hotwired/turbo'; +import { HttpErrorResponse } from '@angular/common/http'; + +export default class ExportController extends Controller { + static values = { + jobStatusDialogUrl: String, + }; + + declare jobStatusDialogUrlValue:string; + + jobModalUrl(job_id:string):string { + return this.jobStatusDialogUrlValue.replace('_job_uuid_', job_id); + } + + async showJobModal(job_id:string) { + console.log(this.jobModalUrl(job_id)); + const response = await fetch(this.jobModalUrl(job_id), { + method: 'GET', + headers: { Accept: 'text/vnd.turbo-stream.html' }, + }); + if (response.ok) { + Turbo.renderStreamMessage(await response.text()); + } else { + throw new Error(response.statusText || 'Invalid response from server'); + } + } + + async requestExport(exportURL:string):Promise { + const response = await fetch(exportURL, { + method: 'GET', + headers: { Accept: 'application/json' }, + credentials: 'same-origin', + }); + if (!response.ok) { + throw new Error(`HTTP ${response.status}: ${response.statusText}`); + } + const result = await response.json() as { job_id:string }; + if (!result.job_id) { + throw new Error('Invalid response from server'); + } + return result.job_id; + } + + get href() { + return (this.element as HTMLLinkElement).href; + } + + download(evt:CustomEvent) { + evt.preventDefault(); // Don't follow the href + this.requestExport(this.href) + .then((job_id) => this.showJobModal(job_id)) + .catch((error:HttpErrorResponse) => this.handleError(error)); + } + + private handleError(error:HttpErrorResponse) { + void window.OpenProject.getPluginContext().then((pluginContext) => { + pluginContext.services.notifications.addError(error); + }); + } +} diff --git a/modules/reporting/app/components/cost_reports/index_page_header_component.html.erb b/modules/reporting/app/components/cost_reports/index_page_header_component.html.erb index 040926aa6603..92d133f1d002 100644 --- a/modules/reporting/app/components/cost_reports/index_page_header_component.html.erb +++ b/modules/reporting/app/components/cost_reports/index_page_header_component.html.erb @@ -5,23 +5,35 @@ if show_export_button? header.with_action_button(scheme: :default, - aria: { label: t(:export_to_excel)}, + aria: { label: t(:export_to_excel) }, title: t(:export_to_excel), mobile_icon: "op-file-xls-descriptions", mobile_label: t(:export_to_excel), tag: :a, - href: url_for({ controller: "cost_reports" , action: :index, format: 'xls', project_id: @project }) + href: url_for({ controller: "cost_reports", action: :index, format: 'xls', project_id: @project }), + data: { + controller: "costs--export", + "application-target": "dynamic", + "costs--export-job-status-dialog-url-value": job_status_dialog_path('_job_uuid_'), + action: "click->costs--export#download" + } ) do |button| button.with_leading_visual_icon(icon: "op-file-xls-descriptions") t(:export_to_excel) end header.with_action_button(scheme: :default, - aria: { label: t("export.timesheet.button")}, + aria: { label: t("export.timesheet.button") }, title: t("export.timesheet.button"), mobile_icon: "op-file-xls-descriptions", mobile_label: t("export.timesheet.button"), tag: :a, - href: url_for({ controller: "cost_reports" , action: :index, format: 'pdf', project_id: @project }) + href: url_for({ controller: "cost_reports", action: :index, format: 'pdf', project_id: @project }), + data: { + controller: "costs--export", + "application-target": "dynamic", + "costs--export-job-status-dialog-url-value": job_status_dialog_path('_job_uuid_'), + action: "click->costs--export#download" + } ) do |button| button.with_leading_visual_icon(icon: "op-file-xls-descriptions") t("export.timesheet.button") diff --git a/modules/reporting/app/controllers/cost_reports_controller.rb b/modules/reporting/app/controllers/cost_reports_controller.rb index 7a06e2404a20..f2a7e8ef7292 100644 --- a/modules/reporting/app/controllers/cost_reports_controller.rb +++ b/modules/reporting/app/controllers/cost_reports_controller.rb @@ -95,7 +95,11 @@ def export(format) .call(format, filter_params:, project: @project, cost_types: @cost_types) .result - redirect_to job_status_path(job_id) + if request.headers["Accept"]&.include?("application/json") + render json: { job_id: } + else + redirect_to job_status_path(job_id) + end end ## From e7bb9cab5b73c81f00ab8ca50e98be1922d149bd Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 25 Nov 2024 14:06:09 +0100 Subject: [PATCH 005/121] costs exports: filter for time entries; add comments --- .../cost_query/pdf/timesheet_generator.rb | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 1c6a6bde4255..907228cbd281 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -52,13 +52,13 @@ def render_doc query .each_direct_result .map(&:itself) + .filter { |r| r.fields["type"] == "TimeEntry" } .group_by { |r| r.fields["user_id"] } .each do |user_id, result| write_table(user_id, result) end end - # rubocop:disable Metrics/AbcSize def build_table_rows(entries) rows = [] entries @@ -66,18 +66,28 @@ def build_table_rows(entries) .sort .each do |_spent_on, lines| lines.each do |r| - rows.push([ - lines[0]["spent_on"], - WorkPackage.find(r.fields["work_package_id"]).subject, - "??:00-??:00", - "#{r.fields['units'].inspect}h", - TimeEntryActivity.find(r.fields["activity_id"]).name - ]) + row = [ + { content: lines[0]["spent_on"], rowspan: 1 }, + WorkPackage.find(r.fields["work_package_id"]).subject, + "??:00-??:00", + format_duration(r.fields["units"]), + TimeEntryActivity.find(r.fields["activity_id"]).name + ] + rows.push(row) + if r.fields["comments"].present? + row[0][:rowspan] = 2 + rows.push([{ content: r.fields["comments"], colspan: 4 }]) + end end end rows end - # rubocop:enable Metrics/AbcSize + + def format_duration(hours) + return "" if hours < 0 + + "#{hours}h" + end def write_table(user_id, entries) rows = [["Date", "Work package", "Time", "Hours", "Activity"]].concat(build_table_rows(entries)) @@ -95,14 +105,12 @@ def sorted_results query.each_direct_result.map(&:itself) end - # rubocop:disable Metrics/AbcSize def write_hr hr_style = styles.cover_header_border pdf.stroke_color = hr_style[:color] pdf.line_width = hr_style[:height] pdf.stroke_horizontal_line pdf.bounds.left, pdf.bounds.right, at: pdf.cursor end - # rubocop:enable Metrics/AbcSize def with_cover? true From 4fd2a2d0d9d90fe1fe712c3a620921e8f6d29e46 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 25 Nov 2024 14:21:27 +0100 Subject: [PATCH 006/121] obey rubocop --- .../dynamic/costs/export.controller.ts | 3 +- .../cost_query/pdf/timesheet_generator.rb | 36 ++++++++++++++----- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts b/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts index 183aa9ffc91e..ba839789d487 100644 --- a/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts +++ b/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts @@ -14,7 +14,6 @@ export default class ExportController extends Controller { } async showJobModal(job_id:string) { - console.log(this.jobModalUrl(job_id)); const response = await fetch(this.jobModalUrl(job_id), { method: 'GET', headers: { Accept: 'text/vnd.turbo-stream.html' }, @@ -43,7 +42,7 @@ export default class ExportController extends Controller { } get href() { - return (this.element as HTMLLinkElement).href; + return this.element.href; } download(evt:CustomEvent) { diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 907228cbd281..127c32571b19 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -34,6 +34,7 @@ def setup_page! self.pdf = get_pdf @page_count = 0 configure_page_size!(:portrait) + pdf.title = heading end def generate! @@ -46,19 +47,31 @@ def generate! def render_doc write_cover_page! if with_cover? + write_heading! + write_hr! + write_entries! + end + def write_heading! pdf.formatted_text([{ text: heading }]) - write_hr - query - .each_direct_result - .map(&:itself) - .filter { |r| r.fields["type"] == "TimeEntry" } + end + + def write_entries! + all_entries .group_by { |r| r.fields["user_id"] } .each do |user_id, result| write_table(user_id, result) end end + def all_entries + query + .each_direct_result + .map(&:itself) + .filter { |r| r.fields["type"] == "TimeEntry" } + end + + # rubocop:disable Metrics/AbcSize def build_table_rows(entries) rows = [] entries @@ -82,6 +95,7 @@ def build_table_rows(entries) end rows end + # rubocop:enable Metrics/AbcSize def format_duration(hours) return "" if hours < 0 @@ -105,12 +119,16 @@ def sorted_results query.each_direct_result.map(&:itself) end - def write_hr + # rubocop:disable Metrics/AbcSize + def write_hr! hr_style = styles.cover_header_border - pdf.stroke_color = hr_style[:color] - pdf.line_width = hr_style[:height] - pdf.stroke_horizontal_line pdf.bounds.left, pdf.bounds.right, at: pdf.cursor + pdf.stroke do + pdf.line_width = hr_style[:color] + pdf.stroke_color hr_style[:height] + pdf.stroke_horizontal_line pdf.bounds.left, pdf.bounds.right, at: pdf.cursor + end end + # rubocop:enable Metrics/AbcSize def with_cover? true From e6793e84a3dcb34bcb03f8e70ea27d1c1c47fb38 Mon Sep 17 00:00:00 2001 From: as-op Date: Tue, 26 Nov 2024 13:01:25 +0100 Subject: [PATCH 007/121] follow mockup styling; use current query in pdf export --- .../controllers/cost_reports_controller.rb | 2 +- .../cost_query/schedule_export_service.rb | 16 +-- .../app/workers/cost_query/pdf/export_job.rb | 1 - .../cost_query/pdf/timesheet_generator.rb | 129 ++++++++++++++---- 4 files changed, 110 insertions(+), 38 deletions(-) diff --git a/modules/reporting/app/controllers/cost_reports_controller.rb b/modules/reporting/app/controllers/cost_reports_controller.rb index f2a7e8ef7292..c39cf15932ef 100644 --- a/modules/reporting/app/controllers/cost_reports_controller.rb +++ b/modules/reporting/app/controllers/cost_reports_controller.rb @@ -92,7 +92,7 @@ def index def export(format) job_id = ::CostQuery::ScheduleExportService .new(user: current_user) - .call(format, filter_params:, project: @project, cost_types: @cost_types) + .call(format, filter_params:, query: @query, project: @project, cost_types: @cost_types) .result if request.headers["Accept"]&.include?("application/json") diff --git a/modules/reporting/app/services/cost_query/schedule_export_service.rb b/modules/reporting/app/services/cost_query/schedule_export_service.rb index 31f722d7e429..9f42b4fa34f1 100644 --- a/modules/reporting/app/services/cost_query/schedule_export_service.rb +++ b/modules/reporting/app/services/cost_query/schedule_export_service.rb @@ -33,22 +33,22 @@ def initialize(user:) self.user = user end - def call(format, filter_params:, project:, cost_types:) + def call(format, filter_params:, query:, project:, cost_types:) export_storage = ::CostQuery::Export.create - job = schedule_export(format, export_storage, filter_params, project, cost_types) + job = schedule_export(format, export_storage, filter_params, query, project, cost_types) ServiceResult.success result: job.job_id end private - def schedule_export(format, export_storage, filter_params, project, cost_types) + def schedule_export(format, export_storage, filter_params, query, project, cost_types) job = format == :pdf ? ::CostQuery::PDF::ExportJob : ::CostQuery::XLS::ExportJob job.perform_later(export: export_storage, - user:, - mime_type: :xls, - query: filter_params, - project:, - cost_types:) + user:, + mime_type: format, + query: format == :pdf ? query : filter_params, + project:, + cost_types:) end end diff --git a/modules/reporting/app/workers/cost_query/pdf/export_job.rb b/modules/reporting/app/workers/cost_query/pdf/export_job.rb index 0e56f916350d..3453c3005cc2 100644 --- a/modules/reporting/app/workers/cost_query/pdf/export_job.rb +++ b/modules/reporting/app/workers/cost_query/pdf/export_job.rb @@ -36,7 +36,6 @@ def pdf_report_result end def generate_timesheet - self.query = CostQuery.new(project:) generator = ::CostQuery::PDF::TimesheetGenerator.new(query, project, cost_types) generator.generate! end diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 127c32571b19..43d54de075c2 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -15,7 +15,11 @@ def initialize(query, project, cost_types) end def heading - "Timesheet" + query.name || "Timesheet" + end + + def footer_title + heading end def project @@ -50,10 +54,8 @@ def render_doc write_heading! write_hr! write_entries! - end - - def write_heading! - pdf.formatted_text([{ text: heading }]) + write_headers! + write_footers! end def write_entries! @@ -77,43 +79,81 @@ def build_table_rows(entries) entries .group_by { |r| DateTime.parse(r.fields["spent_on"]) } .sort - .each do |_spent_on, lines| + .each do |spent_on, lines| + day_rows = [] lines.each do |r| - row = [ - { content: lines[0]["spent_on"], rowspan: 1 }, - WorkPackage.find(r.fields["work_package_id"]).subject, - "??:00-??:00", - format_duration(r.fields["units"]), - TimeEntryActivity.find(r.fields["activity_id"]).name - ] - rows.push(row) + day_rows.push( + [ + wp_subject(r.fields["work_package_id"]), + with_times_column? ? "??:00-??:00" : nil, + format_duration(r.fields["units"]), + activity_name(r.fields["activity_id"]) + ].compact + ) if r.fields["comments"].present? - row[0][:rowspan] = 2 - rows.push([{ content: r.fields["comments"], colspan: 4 }]) + day_rows.push ([{ content: r.fields["comments"], text_color: "636C76", colspan: table_columns_span }]) end end + day_rows[0].unshift({ content: format_date(spent_on), rowspan: day_rows.length }) + rows.concat(day_rows) end rows end + # rubocop:enable Metrics/AbcSize - def format_duration(hours) - return "" if hours < 0 + def table_header_columns + with_times_column? ? ["Date", "Work package", "Time", "Hours", "Activity"] : ["Date", "Work package", "Hours", "Activity"] + end - "#{hours}h" + def table_columns_widths + with_times_column? ? [80, 193, 80, 70, 100] : [80, 270, 70, 100] + end + + def table_width + table_columns_widths.sum end + def table_columns_span + with_times_column? ? 4 : 3 + end + + # rubocop:disable Metrics/AbcSize def write_table(user_id, entries) - rows = [["Date", "Work package", "Time", "Hours", "Activity"]].concat(build_table_rows(entries)) + rows = [table_header_columns].concat(build_table_rows(entries)) # TODO: write user on new page if table does not fit on the same write_user(user_id) - table = pdf.make_table(rows, header: false, width: 500, column_widths: [100, 100, 100, 100, 100]) - table.draw - end - - def write_user(user_id) - pdf.formatted_text([{ text: User.select_for_name.find(user_id).name }]) + pdf.make_table( + rows, header: false, + width: table_width, + column_widths: table_columns_widths, + cell_style: { + border_color: "BBBBBB", + border_width: 0.5, + borders: [:top], + padding: [5, 5, 8, 5] + } + ) do |table| + table.columns(0).borders = %i[top bottom left right] + table.rows(0).style do |c| + c.borders = c.borders + [:top] + c.font_style = :bold + end + table.rows(-1).style do |c| + c.borders = c.borders + [:bottom] + end + table.columns(-1).style do |c| + c.borders = c.borders + [:right] + end + table.columns(1).style do |c| + if c.colspan > 1 + c.borders = %i[left right] + c.padding = [0, 5, 8, 5] + end + end + end.draw end + # rubocop:enable Metrics/AbcSize def sorted_results query.each_direct_result.map(&:itself) @@ -123,13 +163,46 @@ def sorted_results def write_hr! hr_style = styles.cover_header_border pdf.stroke do - pdf.line_width = hr_style[:color] - pdf.stroke_color hr_style[:height] + pdf.line_width = hr_style[:height] + pdf.stroke_color hr_style[:color] pdf.stroke_horizontal_line pdf.bounds.left, pdf.bounds.right, at: pdf.cursor end + pdf.move_down(16) end # rubocop:enable Metrics/AbcSize + def write_heading! + pdf.formatted_text([{ text: heading, size: 26, style: :bold }]) + pdf.move_down(2) + end + + def write_user(user_id) + pdf.formatted_text([{ text: user_name(user_id), size: 20 }]) + pdf.move_down(10) + end + + def user_name(user_id) + User.select_for_name.find(user_id).name + end + + def activity_name(activity_id) + TimeEntryActivity.find(activity_id).name + end + + def wp_subject(wp_id) + WorkPackage.find(wp_id).subject + end + + def format_duration(hours) + return "" if hours < 0 + + "#{hours}h" + end + + def with_times_column? + true + end + def with_cover? true end From 677956ebc291f43b5d5f46b7e85410a096c2e23e Mon Sep 17 00:00:00 2001 From: as-op Date: Tue, 26 Nov 2024 13:16:00 +0100 Subject: [PATCH 008/121] obey rubocop --- .../app/controllers/cost_reports_controller.rb | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/modules/reporting/app/controllers/cost_reports_controller.rb b/modules/reporting/app/controllers/cost_reports_controller.rb index c39cf15932ef..e6bdd7e53801 100644 --- a/modules/reporting/app/controllers/cost_reports_controller.rb +++ b/modules/reporting/app/controllers/cost_reports_controller.rb @@ -77,15 +77,17 @@ def check_cache def index table - unless performed? - respond_to do |format| - format.html do - session[report_engine.name.underscore.to_sym].try(:delete, :name) - render locals: { menu_name: project_or_global_menu } - end - format.xls { export(:xls) } - format.pdf { export(:pdf) } + perform unless performed? + end + + def perform + respond_to do |format| + format.html do + session[report_engine.name.underscore.to_sym].try(:delete, :name) + render locals: { menu_name: project_or_global_menu } end + format.xls { export(:xls) } + format.pdf { export(:pdf) } end end From 11d5dc8b1b70e1a38bbfbf72788e45426c06a45f Mon Sep 17 00:00:00 2001 From: as-op Date: Tue, 26 Nov 2024 13:54:10 +0100 Subject: [PATCH 009/121] send unsaved cost query settings to export worker --- .../controllers/cost_reports_controller.rb | 18 +++++++++++----- modules/reporting/app/models/cost_query.rb | 19 +++++++++++++++++ .../cost_query/schedule_export_service.rb | 10 +++++---- .../app/workers/cost_query/pdf/export_job.rb | 2 ++ .../app/workers/cost_query/xls/export_job.rb | 21 +------------------ 5 files changed, 41 insertions(+), 29 deletions(-) diff --git a/modules/reporting/app/controllers/cost_reports_controller.rb b/modules/reporting/app/controllers/cost_reports_controller.rb index e6bdd7e53801..b691364abcd7 100644 --- a/modules/reporting/app/controllers/cost_reports_controller.rb +++ b/modules/reporting/app/controllers/cost_reports_controller.rb @@ -94,8 +94,14 @@ def perform def export(format) job_id = ::CostQuery::ScheduleExportService .new(user: current_user) - .call(format, filter_params:, query: @query, project: @project, cost_types: @cost_types) - .result + .call( + format:, + query_id: @query.id, + query_name: @query.name, + filter_params: filter_params, + project: @project, + cost_types: @cost_types + ).result if request.headers["Accept"]&.include?("application/json") render json: { job_id: } @@ -133,7 +139,8 @@ def create if request.xhr? # Update via AJAX - return url for redirect render plain: url_for(**redirect_params) - else # Redirect to the new record + else + # Redirect to the new record redirect_to **redirect_params end end @@ -399,6 +406,7 @@ def allowed_in_report?(action, report, user = User.current) Array(permissions).any? { |permission| user.allowed_in_any_project?(permission) } end end + # rubocop:enable Metrics/AbcSize, Metrics/PerceivedComplexity private @@ -501,11 +509,11 @@ def prepare_query def determine_settings if force_default? filters = default_filter_parameters - groups = default_group_parameters + groups = default_group_parameters session[report_engine.name.underscore.to_sym].try :delete, :name else filters = filter_params - groups = group_params + groups = group_params end cookie = session[report_engine.name.underscore.to_sym] || {} session[report_engine.name.underscore.to_sym] = cookie.merge(filters:, groups:) diff --git a/modules/reporting/app/models/cost_query.rb b/modules/reporting/app/models/cost_query.rb index 4d29547b7f6d..5317137f98b3 100644 --- a/modules/reporting/app/models/cost_query.rb +++ b/modules/reporting/app/models/cost_query.rb @@ -85,6 +85,25 @@ def self.exists_in?(project, user) public(project).or(private(project, user)).exists? end + # rubocop:disable Metrics/AbcSize + def self.build_query(project, filters, groups = {}) + query = CostQuery.new(project:) + query.tap do |q| + filters[:operators].each do |filter, operator| + unless filters[:values][filter] == ["<>"] + values = Array(filters[:values][filter]).map { |v| v == "<>" ? nil : v } + q.filter(filter.to_sym, + operator:, + values:) + end + end + end + groups[:columns].try(:reverse_each) { |c| query.column(c) } + groups[:rows].try(:reverse_each) { |r| query.row(r) } + query + end + # rubocop:enable Metrics/AbcSize + def serialize # have to take the reverse group_bys to retain the original order when deserializing self.serialized = { filters: filters.map(&:serialize).reject(&:nil?).sort_by(&:first), diff --git a/modules/reporting/app/services/cost_query/schedule_export_service.rb b/modules/reporting/app/services/cost_query/schedule_export_service.rb index 9f42b4fa34f1..2042dcdd7723 100644 --- a/modules/reporting/app/services/cost_query/schedule_export_service.rb +++ b/modules/reporting/app/services/cost_query/schedule_export_service.rb @@ -33,21 +33,23 @@ def initialize(user:) self.user = user end - def call(format, filter_params:, query:, project:, cost_types:) + def call(format:, query_id:, query_name:, filter_params:, project:, cost_types:) export_storage = ::CostQuery::Export.create - job = schedule_export(format, export_storage, filter_params, query, project, cost_types) + job = schedule_export(format, export_storage, query_id, query_name, filter_params, project, cost_types) ServiceResult.success result: job.job_id end private - def schedule_export(format, export_storage, filter_params, query, project, cost_types) + def schedule_export(format, export_storage, query_id, query_name, filter_params, project, cost_types) job = format == :pdf ? ::CostQuery::PDF::ExportJob : ::CostQuery::XLS::ExportJob job.perform_later(export: export_storage, user:, mime_type: format, - query: format == :pdf ? query : filter_params, + query_id:, + query_name:, + query: filter_params, project:, cost_types:) end diff --git a/modules/reporting/app/workers/cost_query/pdf/export_job.rb b/modules/reporting/app/workers/cost_query/pdf/export_job.rb index 3453c3005cc2..de22ffc5a575 100644 --- a/modules/reporting/app/workers/cost_query/pdf/export_job.rb +++ b/modules/reporting/app/workers/cost_query/pdf/export_job.rb @@ -23,6 +23,8 @@ def export! def prepare! CostQuery::Cache.check + self.query = CostQuery.build_query(project, query) + query.name = options[:query_name] end def pdf_report_result diff --git a/modules/reporting/app/workers/cost_query/xls/export_job.rb b/modules/reporting/app/workers/cost_query/xls/export_job.rb index 06f6270056f1..e9cdda62daab 100644 --- a/modules/reporting/app/workers/cost_query/xls/export_job.rb +++ b/modules/reporting/app/workers/cost_query/xls/export_job.rb @@ -19,7 +19,7 @@ def title def prepare! CostQuery::Cache.check - self.query = build_query(query) + self.query = CostQuery.build_query(project, query) end def export! @@ -39,23 +39,4 @@ def xls_report_result mime_type: "application/vnd.ms-excel", content:) end - - # rubocop:disable Metrics/AbcSize - def build_query(filters, groups = {}) - query = CostQuery.new(project:) - query.tap do |q| - filters[:operators].each do |filter, operator| - unless filters[:values][filter] == ["<>"] - values = Array(filters[:values][filter]).map { |v| v == "<>" ? nil : v } - q.filter(filter.to_sym, - operator:, - values:) - end - end - end - groups[:columns].try(:reverse_each) { |c| query.column(c) } - groups[:rows].try(:reverse_each) { |r| query.row(r) } - query - end - # rubocop:enable Metrics/AbcSize end From 9395e87d3c3c3ca5bf078bcdf5c80571badef6cc Mon Sep 17 00:00:00 2001 From: as-op Date: Tue, 26 Nov 2024 14:44:24 +0100 Subject: [PATCH 010/121] fix missing border if comment is last line --- .../app/controllers/cost_reports_controller.rb | 8 +++----- .../workers/cost_query/pdf/timesheet_generator.rb | 14 +++++++------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/modules/reporting/app/controllers/cost_reports_controller.rb b/modules/reporting/app/controllers/cost_reports_controller.rb index b691364abcd7..ffaf80d5056d 100644 --- a/modules/reporting/app/controllers/cost_reports_controller.rb +++ b/modules/reporting/app/controllers/cost_reports_controller.rb @@ -139,8 +139,7 @@ def create if request.xhr? # Update via AJAX - return url for redirect render plain: url_for(**redirect_params) - else - # Redirect to the new record + else # Redirect to the new record redirect_to **redirect_params end end @@ -406,7 +405,6 @@ def allowed_in_report?(action, report, user = User.current) Array(permissions).any? { |permission| user.allowed_in_any_project?(permission) } end end - # rubocop:enable Metrics/AbcSize, Metrics/PerceivedComplexity private @@ -509,11 +507,11 @@ def prepare_query def determine_settings if force_default? filters = default_filter_parameters - groups = default_group_parameters + groups = default_group_parameters session[report_engine.name.underscore.to_sym].try :delete, :name else filters = filter_params - groups = group_params + groups = group_params end cookie = session[report_engine.name.underscore.to_sym] || {} session[report_engine.name.underscore.to_sym] = cookie.merge(filters:, groups:) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 43d54de075c2..c1a40cdccd6d 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -135,13 +135,6 @@ def write_table(user_id, entries) } ) do |table| table.columns(0).borders = %i[top bottom left right] - table.rows(0).style do |c| - c.borders = c.borders + [:top] - c.font_style = :bold - end - table.rows(-1).style do |c| - c.borders = c.borders + [:bottom] - end table.columns(-1).style do |c| c.borders = c.borders + [:right] end @@ -151,6 +144,13 @@ def write_table(user_id, entries) c.padding = [0, 5, 8, 5] end end + table.rows(0).style do |c| + c.borders = c.borders + [:top] + c.font_style = :bold + end + table.rows(-1).style do |c| + c.borders = c.borders + [:bottom] + end end.draw end # rubocop:enable Metrics/AbcSize From a6fc8eeb70698554c26d6fc76717cdc56b8fa671 Mon Sep 17 00:00:00 2001 From: as-op Date: Tue, 26 Nov 2024 16:01:16 +0100 Subject: [PATCH 011/121] fix missing border on table split after page break --- .../cost_query/pdf/timesheet_generator.rb | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index c1a40cdccd6d..f22a01ea24b0 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -124,15 +124,16 @@ def write_table(user_id, entries) # TODO: write user on new page if table does not fit on the same write_user(user_id) pdf.make_table( - rows, header: false, - width: table_width, - column_widths: table_columns_widths, - cell_style: { - border_color: "BBBBBB", - border_width: 0.5, - borders: [:top], - padding: [5, 5, 8, 5] - } + rows, + header: false, + width: table_width, + column_widths: table_columns_widths, + cell_style: { + border_color: "BBBBBB", + border_width: 0.5, + borders: %i[top bottom], + padding: [5, 5, 8, 5] + } ) do |table| table.columns(0).borders = %i[top bottom left right] table.columns(-1).style do |c| @@ -142,17 +143,20 @@ def write_table(user_id, entries) if c.colspan > 1 c.borders = %i[left right] c.padding = [0, 5, 8, 5] + row_nr = c.row - 1 + values = table.columns(1..-1).rows(row_nr..row_nr) + values.each do |cell| + cell.borders = cell.borders - [:bottom] + end end end table.rows(0).style do |c| c.borders = c.borders + [:top] c.font_style = :bold end - table.rows(-1).style do |c| - c.borders = c.borders + [:bottom] - end end.draw end + # rubocop:enable Metrics/AbcSize def sorted_results @@ -169,6 +173,7 @@ def write_hr! end pdf.move_down(16) end + # rubocop:enable Metrics/AbcSize def write_heading! @@ -204,6 +209,6 @@ def with_times_column? end def with_cover? - true + false end end From 2708e0f5e0a38902a0665b8569d7bcce1b68392c Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 27 Nov 2024 11:46:54 +0100 Subject: [PATCH 012/121] fix missing border if comment is last line --- .../reporting/app/workers/cost_query/pdf/timesheet_generator.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index f22a01ea24b0..8b248ced4b56 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -141,7 +141,7 @@ def write_table(user_id, entries) end table.columns(1).style do |c| if c.colspan > 1 - c.borders = %i[left right] + c.borders = %i[left right bottom] c.padding = [0, 5, 8, 5] row_nr = c.row - 1 values = table.columns(1..-1).rows(row_nr..row_nr) From 7b7233f296d97a75045e7929bf37acd206a681aa Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 27 Nov 2024 12:13:44 +0100 Subject: [PATCH 013/121] get rid of cached unsaved filters when a query is changed --- .../controllers/cost_reports_controller.rb | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/modules/reporting/app/controllers/cost_reports_controller.rb b/modules/reporting/app/controllers/cost_reports_controller.rb index ffaf80d5056d..4cdc4b59f227 100644 --- a/modules/reporting/app/controllers/cost_reports_controller.rb +++ b/modules/reporting/app/controllers/cost_reports_controller.rb @@ -83,7 +83,9 @@ def index def perform respond_to do |format| format.html do - session[report_engine.name.underscore.to_sym].try(:delete, :name) + session[session_name].try(:delete, :name) + # get rid of unsaved filters and grouping + store_query(@query) if @query&.id != session[session_name].try(:id) render locals: { menu_name: project_or_global_menu } end format.xls { export(:xls) } @@ -91,6 +93,10 @@ def perform end end + def session_name + report_engine.name.underscore.to_sym + end + def export(format) job_id = ::CostQuery::ScheduleExportService .new(user: current_user) @@ -255,7 +261,7 @@ def default_filter_parameters # Get the filter params with an optional project context def filter_params filters = http_filter_parameters if set_filter? - filters ||= session[report_engine.name.underscore.to_sym].try(:[], :filters) + filters ||= session[session_name].try(:[], :filters) filters ||= default_filter_parameters update_project_context!(filters) @@ -267,7 +273,7 @@ def filter_params # Return the active group bys def group_params groups = http_group_parameters if set_filter? - groups ||= session[report_engine.name.underscore.to_sym].try(:[], :groups) + groups ||= session[session_name].try(:[], :groups) groups || default_group_parameters end @@ -495,8 +501,8 @@ def force_default? # Prepare the query from the request def prepare_query determine_settings - @query = build_query(session[report_engine.name.underscore.to_sym][:filters], - session[report_engine.name.underscore.to_sym][:groups]) + @query = build_query(session[session_name][:filters], + session[session_name][:groups]) set_cost_type if @unit_id.present? end @@ -507,14 +513,14 @@ def prepare_query def determine_settings if force_default? filters = default_filter_parameters - groups = default_group_parameters - session[report_engine.name.underscore.to_sym].try :delete, :name + groups = default_group_parameters + session[session_name].try :delete, :name else filters = filter_params - groups = group_params + groups = group_params end - cookie = session[report_engine.name.underscore.to_sym] || {} - session[report_engine.name.underscore.to_sym] = cookie.merge(filters:, groups:) + cookie = session[session_name] || {} + session[session_name] = cookie.merge(filters:, groups:) end ## @@ -549,7 +555,8 @@ def store_query(_query) h end cookie[:name] = @query.name if @query.name - session[report_engine.name.underscore.to_sym] = cookie + cookie[:id] = @query.id + session[session_name] = cookie end ## From a0aebb1683f52310115ea33586c6677743fa31be Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 27 Nov 2024 12:31:41 +0100 Subject: [PATCH 014/121] move text into I18n --- .../app/workers/cost_query/pdf/timesheet_generator.rb | 10 ++++++++-- modules/reporting/config/locales/en.yml | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 8b248ced4b56..9a105d4c6242 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -15,7 +15,7 @@ def initialize(query, project, cost_types) end def heading - query.name || "Timesheet" + query.name || I18n.t(:"export.timesheet.timesheet") end def footer_title @@ -103,7 +103,13 @@ def build_table_rows(entries) # rubocop:enable Metrics/AbcSize def table_header_columns - with_times_column? ? ["Date", "Work package", "Time", "Hours", "Activity"] : ["Date", "Work package", "Hours", "Activity"] + [ + I18n.t(:"activerecord.attributes.time_entry.spent_on"), + I18n.t(:"activerecord.models.work_package"), + with_times_column? ? I18n.t(:"export.timesheet.time") : nil, + I18n.t(:"activerecord.attributes.time_entry.hours"), + I18n.t(:"activerecord.attributes.time_entry.activity") + ].compact end def table_columns_widths diff --git a/modules/reporting/config/locales/en.yml b/modules/reporting/config/locales/en.yml index bf5feeb9ea5a..1b56799a2c02 100644 --- a/modules/reporting/config/locales/en.yml +++ b/modules/reporting/config/locales/en.yml @@ -108,6 +108,8 @@ en: timesheet: title: "Your PDF timesheet export" button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" From e3ea7b932f9b503846dda8bb77987f3bee56b275 Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 27 Nov 2024 16:29:02 +0100 Subject: [PATCH 015/121] don't rely on prawn table for rowspan cells and page breaks; implement measuring, splitting and spanning --- .../cost_query/pdf/timesheet_generator.rb | 99 +++++++++++++++++-- 1 file changed, 90 insertions(+), 9 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 9a105d4c6242..1b555edcd46b 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -75,7 +75,7 @@ def all_entries # rubocop:disable Metrics/AbcSize def build_table_rows(entries) - rows = [] + rows = [table_header_columns] entries .group_by { |r| DateTime.parse(r.fields["spent_on"]) } .sort @@ -84,6 +84,7 @@ def build_table_rows(entries) lines.each do |r| day_rows.push( [ + { content: format_date(spent_on), rowspan: r.fields["comments"].present? ? 2 : 1 }, wp_subject(r.fields["work_package_id"]), with_times_column? ? "??:00-??:00" : nil, format_duration(r.fields["units"]), @@ -94,7 +95,8 @@ def build_table_rows(entries) day_rows.push ([{ content: r.fields["comments"], text_color: "636C76", colspan: table_columns_span }]) end end - day_rows[0].unshift({ content: format_date(spent_on), rowspan: day_rows.length }) + + # day_rows[0].unshift({ content: format_date(spent_on), rowspan: day_rows.length }) rows.concat(day_rows) end rows @@ -104,7 +106,7 @@ def build_table_rows(entries) def table_header_columns [ - I18n.t(:"activerecord.attributes.time_entry.spent_on"), + { content: I18n.t(:"activerecord.attributes.time_entry.spent_on"), rowspan: 1 }, I18n.t(:"activerecord.models.work_package"), with_times_column? ? I18n.t(:"export.timesheet.time") : nil, I18n.t(:"activerecord.attributes.time_entry.hours"), @@ -125,13 +127,10 @@ def table_columns_span end # rubocop:disable Metrics/AbcSize - def write_table(user_id, entries) - rows = [table_header_columns].concat(build_table_rows(entries)) - # TODO: write user on new page if table does not fit on the same - write_user(user_id) + def build_table(rows) pdf.make_table( rows, - header: false, + header: true, width: table_width, column_widths: table_columns_widths, cell_style: { @@ -160,11 +159,93 @@ def write_table(user_id, entries) c.borders = c.borders + [:top] c.font_style = :bold end - end.draw + end end + def split_group_rows(table_rows) + measure_table = build_table(table_rows) + groups = [] + index = 0 + while index < table_rows.length + row = table_rows[index] + rows = [row] + height = measure_table.row(index).height + index += 1 + if (row[0][:rowspan] || 1) > 1 + rows.push(table_rows[index]) + height += measure_table.row(index).height + index += 1 + end + groups.push({ rows:, height: }) + end + groups + end # rubocop:enable Metrics/AbcSize + def write_table(user_id, entries) + rows = build_table_rows(entries) + # prawn-table does not support splitting a rowspan cell on page break, so we have to merge the first column manually + # for easier handling existing rowspan cells are grouped as one row + grouped_rows = split_group_rows(rows) + # start a new page if the username would be printed alone at the end of the page + pdf.start_new_page if available_space_from_bottom < grouped_rows[0][:height] + grouped_rows[1][:height] + 20 + write_user(user_id) + write_grouped_tables(grouped_rows) + end + + def available_space_from_bottom + margin_bottom = pdf.options[:bottom_margin] + 20 + pdf.y - margin_bottom + end + + def write_grouped_tables(grouped_rows) + header_row = grouped_rows[0] + current_table = [] + current_table_height = 0 + grouped_rows.each do |grouped_row| + grouped_row_height = grouped_row[:height] + if current_table_height + grouped_row_height >= available_space_from_bottom + write_grouped_row_table(current_table) + pdf.start_new_page + current_table = [header_row] + current_table_height = header_row[:height] + end + current_table.push(grouped_row) + current_table_height += grouped_row_height + end + write_grouped_row_table(current_table) + pdf.move_down(28) + end + + def write_grouped_row_table(grouped_rows) + current_table = [] + merge_first_columns(grouped_rows) + grouped_rows.map! { |row| current_table.concat(row[:rows]) } + build_table(current_table).draw + end + + def merge_first_columns(grouped_rows) + last_row = grouped_rows[1] + index = 2 + while index < grouped_rows.length + grouped_row = grouped_rows[index] + last_row = merge_first_rows(grouped_row, last_row) + index += 1 + end + end + + def merge_first_rows(grouped_row, last_row) + grouped_cell = grouped_row[:rows][0][0] + last_cell = last_row[:rows][0][0] + if grouped_cell[:content] == last_cell[:content] + last_cell[:rowspan] += grouped_cell[:rowspan] + grouped_row[:rows][0].shift + last_row + else + grouped_row + end + end + def sorted_results query.each_direct_result.map(&:itself) end From 744d4af5a6211cef8c2edeee67905a4210e4c072 Mon Sep 17 00:00:00 2001 From: as-op Date: Thu, 28 Nov 2024 11:52:26 +0100 Subject: [PATCH 016/121] obey rubocop --- .../work_package/pdf_export/common/common.rb | 8 +++ .../controllers/cost_reports_controller.rb | 45 +++++++------ .../app/models/cost_query/sql_statement.rb | 6 +- .../cost_query/pdf/timesheet_generator.rb | 65 +++++++++++-------- 4 files changed, 76 insertions(+), 48 deletions(-) diff --git a/app/models/work_package/pdf_export/common/common.rb b/app/models/work_package/pdf_export/common/common.rb index 7ebeeb899ef4..7a6c07fc1197 100644 --- a/app/models/work_package/pdf_export/common/common.rb +++ b/app/models/work_package/pdf_export/common/common.rb @@ -285,4 +285,12 @@ def footer_date def current_page_nr pdf.page_number + @page_count - (with_cover? ? 1 : 0) end + + def write_horizontal_line(y_position, height, color) + draw_horizontal_line( + y_position, + pdf.bounds.left, pdf.bounds.right, + height, color + ) + end end diff --git a/modules/reporting/app/controllers/cost_reports_controller.rb b/modules/reporting/app/controllers/cost_reports_controller.rb index 4cdc4b59f227..62ca09c0d943 100644 --- a/modules/reporting/app/controllers/cost_reports_controller.rb +++ b/modules/reporting/app/controllers/cost_reports_controller.rb @@ -76,25 +76,20 @@ def check_cache def index table + return if performed? - perform unless performed? - end - - def perform respond_to do |format| - format.html do - session[session_name].try(:delete, :name) - # get rid of unsaved filters and grouping - store_query(@query) if @query&.id != session[session_name].try(:id) - render locals: { menu_name: project_or_global_menu } - end + format.html { render_html } format.xls { export(:xls) } format.pdf { export(:pdf) } end end - def session_name - report_engine.name.underscore.to_sym + def render_html + session[session_name].try(:delete, :name) + # get rid of unsaved filters and grouping + store_query(@query) if @query&.id != session[session_name].try(:id) + render locals: { menu_name: project_or_global_menu } end def export(format) @@ -546,17 +541,25 @@ def build_query(filters, groups = {}) # Store query in the session def store_query(_query) cookie = {} - cookie[:groups] = @query.group_bys.inject({}) do |h, group| - ((h[:"#{group.type}s"] ||= []) << group.underscore_name.to_sym) && h - end - cookie[:filters] = @query.filters.inject(operators: {}, values: {}) do |h, filter| + cookie[:groups] = cookie_groups + cookie[:filters] = cookie_filters + cookie[:name] = @query.name if @query.name + cookie[:id] = @query.id + session[session_name] = cookie + end + + def cookie_filters + @query.filters.inject(operators: {}, values: {}) do |h, filter| h[:operators][filter.underscore_name.to_sym] = filter.operator.to_s h[:values][filter.underscore_name.to_sym] = filter.values h end - cookie[:name] = @query.name if @query.name - cookie[:id] = @query.id - session[session_name] = cookie + end + + def cookie_groups + @query.group_bys.inject({}) do |h, group| + ((h[:"#{group.type}s"] ||= []) << group.underscore_name.to_sym) && h + end end ## @@ -589,4 +592,8 @@ def find_optional_report(query = "1=0") end rescue ActiveRecord::RecordNotFound end + + def session_name + report_engine.name.underscore.to_sym + end end diff --git a/modules/reporting/app/models/cost_query/sql_statement.rb b/modules/reporting/app/models/cost_query/sql_statement.rb index 973eaf8d14c7..d43b2dc2920c 100644 --- a/modules/reporting/app/models/cost_query/sql_statement.rb +++ b/modules/reporting/app/models/cost_query/sql_statement.rb @@ -74,6 +74,8 @@ def to_s # cost_type_id | -1 | cost_type_id # type | "TimeEntry" | "CostEntry" # count | 1 | 1 + # start_time | start_time | nil + # time_zone | time_zone | nil # # Also: This _should_ handle joining activities and cost_types, as the logic differs for time_entries # and cost_entries. @@ -102,7 +104,7 @@ def self.unified_entry(model) # # @param [CostQuery::SqlStatement] query The statement to adjust def self.unify_time_entries(query) - query.select :activity_id, :logged_by_id, units: :hours, cost_type_id: -1 + query.select :activity_id, :logged_by_id, :start_time, :time_zone, units: :hours, cost_type_id: -1 query.select cost_type: quoted_label(:caption_labor) end @@ -111,7 +113,7 @@ def self.unify_time_entries(query) # # @param [CostQuery::SqlStatement] query The statement to adjust def self.unify_cost_entries(query) - query.select :units, :cost_type_id, :logged_by_id, activity_id: -1 + query.select :units, :cost_type_id, :logged_by_id, activity_id: -1, start_time: nil, time_zone: nil query.select cost_type: "cost_types.name" query.join CostType end diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 1b555edcd46b..aac8e33b6f19 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -80,30 +80,38 @@ def build_table_rows(entries) .group_by { |r| DateTime.parse(r.fields["spent_on"]) } .sort .each do |spent_on, lines| - day_rows = [] - lines.each do |r| - day_rows.push( - [ - { content: format_date(spent_on), rowspan: r.fields["comments"].present? ? 2 : 1 }, - wp_subject(r.fields["work_package_id"]), - with_times_column? ? "??:00-??:00" : nil, - format_duration(r.fields["units"]), - activity_name(r.fields["activity_id"]) - ].compact - ) - if r.fields["comments"].present? - day_rows.push ([{ content: r.fields["comments"], text_color: "636C76", colspan: table_columns_span }]) - end - end - - # day_rows[0].unshift({ content: format_date(spent_on), rowspan: day_rows.length }) - rows.concat(day_rows) + rows.concat(build_table_day_rows(spent_on, lines)) end rows end # rubocop:enable Metrics/AbcSize + def build_table_day_rows(spent_on, lines) + day_rows = [] + lines.each do |r| + day_rows.push(build_table_row(spent_on, r)) + if r.fields["comments"].present? + day_rows.push(build_table_row_comment(r)) + end + end + day_rows + end + + def build_table_row(spent_on, result_entry) + [ + { content: format_date(spent_on), rowspan: result_entry.fields["comments"].present? ? 2 : 1 }, + wp_subject(result_entry.fields["work_package_id"]), + with_times_column? ? format_spent_on_time(result_entry) : nil, + format_duration(result_entry.fields["units"]), + activity_name(result_entry.fields["activity_id"]) + ].compact + end + + def build_table_row_comment(result_entry) + [{ content: result_entry.fields["comments"], text_color: "636C76", colspan: table_columns_span }] + end + def table_header_columns [ { content: I18n.t(:"activerecord.attributes.time_entry.spent_on"), rowspan: 1 }, @@ -180,6 +188,7 @@ def split_group_rows(table_rows) end groups end + # rubocop:enable Metrics/AbcSize def write_table(user_id, entries) @@ -250,19 +259,12 @@ def sorted_results query.each_direct_result.map(&:itself) end - # rubocop:disable Metrics/AbcSize def write_hr! hr_style = styles.cover_header_border - pdf.stroke do - pdf.line_width = hr_style[:height] - pdf.stroke_color hr_style[:color] - pdf.stroke_horizontal_line pdf.bounds.left, pdf.bounds.right, at: pdf.cursor - end + write_horizontal_line(pdf.cursor, hr_style[:height], hr_style[:color]) pdf.move_down(16) end - # rubocop:enable Metrics/AbcSize - def write_heading! pdf.formatted_text([{ text: heading, size: 26, style: :bold }]) pdf.move_down(2) @@ -291,11 +293,20 @@ def format_duration(hours) "#{hours}h" end + def format_spent_on_time(_result_entry) + # TODO implement times column + # date = result_entry.fields["spent_on"] + # hours = result_entry.fields["units"] + # start_time = result_entry.fields["start_time"] + # time_zone = result_entry.fields["time_zone"] + "" + end + def with_times_column? true end def with_cover? - false + true end end From 02dd29f0651b10616f6d0d06f9b58dd18f99ca94 Mon Sep 17 00:00:00 2001 From: as-op Date: Thu, 28 Nov 2024 12:08:03 +0100 Subject: [PATCH 017/121] obey rubocop --- .../app/controllers/cost_reports_controller.rb | 18 +++++++++--------- .../cost_query/pdf/timesheet_generator.rb | 4 ---- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/modules/reporting/app/controllers/cost_reports_controller.rb b/modules/reporting/app/controllers/cost_reports_controller.rb index 62ca09c0d943..d66a649596ac 100644 --- a/modules/reporting/app/controllers/cost_reports_controller.rb +++ b/modules/reporting/app/controllers/cost_reports_controller.rb @@ -506,16 +506,16 @@ def prepare_query # Determine the query settings the current request and save it to # the session. def determine_settings - if force_default? - filters = default_filter_parameters - groups = default_group_parameters - session[session_name].try :delete, :name - else - filters = filter_params - groups = group_params - end + return reset_settings if force_default? + + cookie = session[session_name] || {} + session[session_name] = cookie.merge(filters: filter_params, groups: group_params) + end + + def reset_settings + session[session_name].try :delete, :name cookie = session[session_name] || {} - session[session_name] = cookie.merge(filters:, groups:) + session[session_name] = cookie.merge(filters: default_filter_parameters, groups: default_group_parameters) end ## diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index aac8e33b6f19..6fe23c27c92a 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -73,7 +73,6 @@ def all_entries .filter { |r| r.fields["type"] == "TimeEntry" } end - # rubocop:disable Metrics/AbcSize def build_table_rows(entries) rows = [table_header_columns] entries @@ -85,8 +84,6 @@ def build_table_rows(entries) rows end - # rubocop:enable Metrics/AbcSize - def build_table_day_rows(spent_on, lines) day_rows = [] lines.each do |r| @@ -188,7 +185,6 @@ def split_group_rows(table_rows) end groups end - # rubocop:enable Metrics/AbcSize def write_table(user_id, entries) From 6db6058691e4b8f9aeb02523c2e7910771c8727b Mon Sep 17 00:00:00 2001 From: as-op Date: Thu, 28 Nov 2024 16:17:37 +0100 Subject: [PATCH 018/121] text ellipsis for work package subject cell --- .../work_package/pdf_export/common/common.rb | 7 ++++++ .../cost_query/pdf/timesheet_generator.rb | 23 +++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/app/models/work_package/pdf_export/common/common.rb b/app/models/work_package/pdf_export/common/common.rb index 7a6c07fc1197..63c055a40044 100644 --- a/app/models/work_package/pdf_export/common/common.rb +++ b/app/models/work_package/pdf_export/common/common.rb @@ -164,6 +164,13 @@ def draw_text_multiline_part(line, text_style, x_position, y_position) measure_text_height(line, text_style) end + def ellipsis_if_longer(text, available_width, text_style) + title_text_width = measure_text_width(text, text_style) + return text if title_text_width < available_width + + truncate_ellipsis(text, available_width, text_style) + end + def truncate_ellipsis(text, available_width, text_style) line = text.dup while line.present? && (measure_text_width("#{line}...", text_style) > available_width) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 6fe23c27c92a..1af613255cc8 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -123,6 +123,10 @@ def table_columns_widths with_times_column? ? [80, 193, 80, 70, 100] : [80, 270, 70, 100] end + def table_column_workpackage_text_width + (with_times_column? ? 193 : 270) - 10 # - padding + end + def table_width table_columns_widths.sum end @@ -131,6 +135,10 @@ def table_columns_span with_times_column? ? 4 : 3 end + def table_cell_style_font_size + 12 + end + # rubocop:disable Metrics/AbcSize def build_table(rows) pdf.make_table( @@ -139,6 +147,7 @@ def build_table(rows) width: table_width, column_widths: table_columns_widths, cell_style: { + size: table_cell_style_font_size, border_color: "BBBBBB", border_width: 0.5, borders: %i[top bottom], @@ -185,6 +194,7 @@ def split_group_rows(table_rows) end groups end + # rubocop:enable Metrics/AbcSize def write_table(user_id, entries) @@ -193,8 +203,8 @@ def write_table(user_id, entries) # for easier handling existing rowspan cells are grouped as one row grouped_rows = split_group_rows(rows) # start a new page if the username would be printed alone at the end of the page - pdf.start_new_page if available_space_from_bottom < grouped_rows[0][:height] + grouped_rows[1][:height] + 20 - write_user(user_id) + pdf.start_new_page if available_space_from_bottom < grouped_rows[0][:height] + grouped_rows[1][:height] + username_height + write_username(user_id) write_grouped_tables(grouped_rows) end @@ -266,7 +276,11 @@ def write_heading! pdf.move_down(2) end - def write_user(user_id) + def username_height + 20 + 10 + end + + def write_username(user_id) pdf.formatted_text([{ text: user_name(user_id), size: 20 }]) pdf.move_down(10) end @@ -280,7 +294,8 @@ def activity_name(activity_id) end def wp_subject(wp_id) - WorkPackage.find(wp_id).subject + text = WorkPackage.find(wp_id).subject + ellipsis_if_longer(text, table_column_workpackage_text_width, { size: table_cell_style_font_size }) end def format_duration(hours) From c9e35f93a60e96546618ad126bb3de954f08c14d Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 2 Dec 2024 12:01:31 +0100 Subject: [PATCH 019/121] reduce table font size, remove ellipsing, entry comment in italic font style, cleanup constants --- .../cost_query/pdf/timesheet_generator.rb | 59 +++++++++++-------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 1af613255cc8..87c5e7ef828d 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -5,6 +5,21 @@ class CostQuery::PDF::TimesheetGenerator include WorkPackage::PDFExport::Export::Page include WorkPackage::PDFExport::Export::Style + H1_FONT_SIZE = 26 + H1_MARGIN_BOTTOM = 2 + HR_MARGIN_BOTTOM = 16 + TABLE_CELL_FONT_SIZE = 10 + TABLE_CELL_BORDER_COLOR = "BBBBBB" + TABLE_CELL_PADDING = 4 + COMMENT_FONT_COLOR = "636C76" + H2_FONT_SIZE = 20 + H2_MARGIN_BOTTOM = 10 + COLUMN_DATE_WIDTH = 66 + COLUMN_ACTIVITY_WIDTH = 100 + COLUMN_HOURS_WIDTH = 60 + COLUMN_TIME_WIDTH = 80 + COLUMN_WP_WIDTH = 217 + attr_accessor :pdf def initialize(query, project, cost_types) @@ -106,7 +121,12 @@ def build_table_row(spent_on, result_entry) end def build_table_row_comment(result_entry) - [{ content: result_entry.fields["comments"], text_color: "636C76", colspan: table_columns_span }] + [{ + content: result_entry.fields["comments"], + text_color: COMMENT_FONT_COLOR, + font_style: :italic, + colspan: table_columns_span + }] end def table_header_columns @@ -120,11 +140,9 @@ def table_header_columns end def table_columns_widths - with_times_column? ? [80, 193, 80, 70, 100] : [80, 270, 70, 100] - end - - def table_column_workpackage_text_width - (with_times_column? ? 193 : 270) - 10 # - padding + @table_columns_widths ||= with_times_column? ? + [COLUMN_DATE_WIDTH, COLUMN_WP_WIDTH, COLUMN_TIME_WIDTH, COLUMN_HOURS_WIDTH, COLUMN_ACTIVITY_WIDTH] : + [COLUMN_DATE_WIDTH, COLUMN_WP_WIDTH + COLUMN_TIME_WIDTH, COLUMN_HOURS_WIDTH, COLUMN_ACTIVITY_WIDTH] end def table_width @@ -132,11 +150,7 @@ def table_width end def table_columns_span - with_times_column? ? 4 : 3 - end - - def table_cell_style_font_size - 12 + table_columns_widths.size end # rubocop:disable Metrics/AbcSize @@ -147,11 +161,11 @@ def build_table(rows) width: table_width, column_widths: table_columns_widths, cell_style: { - size: table_cell_style_font_size, - border_color: "BBBBBB", + size: TABLE_CELL_FONT_SIZE, + border_color: TABLE_CELL_BORDER_COLOR, border_width: 0.5, borders: %i[top bottom], - padding: [5, 5, 8, 5] + padding: [TABLE_CELL_PADDING, TABLE_CELL_PADDING, TABLE_CELL_PADDING + 2, TABLE_CELL_PADDING] } ) do |table| table.columns(0).borders = %i[top bottom left right] @@ -209,7 +223,7 @@ def write_table(user_id, entries) end def available_space_from_bottom - margin_bottom = pdf.options[:bottom_margin] + 20 + margin_bottom = pdf.options[:bottom_margin] + 20 # 20 is the safety margin pdf.y - margin_bottom end @@ -268,12 +282,12 @@ def sorted_results def write_hr! hr_style = styles.cover_header_border write_horizontal_line(pdf.cursor, hr_style[:height], hr_style[:color]) - pdf.move_down(16) + pdf.move_down(HR_MARGIN_BOTTOM) end def write_heading! - pdf.formatted_text([{ text: heading, size: 26, style: :bold }]) - pdf.move_down(2) + pdf.formatted_text([{ text: heading, size: H1_FONT_SIZE, style: :bold }]) + pdf.move_down(H1_MARGIN_BOTTOM) end def username_height @@ -281,8 +295,8 @@ def username_height end def write_username(user_id) - pdf.formatted_text([{ text: user_name(user_id), size: 20 }]) - pdf.move_down(10) + pdf.formatted_text([{ text: user_name(user_id), size: H2_FONT_SIZE }]) + pdf.move_down(H2_MARGIN_BOTTOM) end def user_name(user_id) @@ -294,8 +308,7 @@ def activity_name(activity_id) end def wp_subject(wp_id) - text = WorkPackage.find(wp_id).subject - ellipsis_if_longer(text, table_column_workpackage_text_width, { size: table_cell_style_font_size }) + WorkPackage.find(wp_id).subject end def format_duration(hours) @@ -314,7 +327,7 @@ def format_spent_on_time(_result_entry) end def with_times_column? - true + Setting.allow_tracking_start_and_end_times end def with_cover? From 51bc5816718afc28f37f94bb55dca84877a61676 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 2 Dec 2024 12:25:04 +0100 Subject: [PATCH 020/121] remove not needed functions --- .../workers/cost_query/pdf/timesheet_generator.rb | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 87c5e7ef828d..a2783031aa97 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -125,7 +125,7 @@ def build_table_row_comment(result_entry) content: result_entry.fields["comments"], text_color: COMMENT_FONT_COLOR, font_style: :italic, - colspan: table_columns_span + colspan: table_columns_widths.size }] end @@ -145,20 +145,12 @@ def table_columns_widths [COLUMN_DATE_WIDTH, COLUMN_WP_WIDTH + COLUMN_TIME_WIDTH, COLUMN_HOURS_WIDTH, COLUMN_ACTIVITY_WIDTH] end - def table_width - table_columns_widths.sum - end - - def table_columns_span - table_columns_widths.size - end - # rubocop:disable Metrics/AbcSize def build_table(rows) pdf.make_table( rows, header: true, - width: table_width, + width: table_columns_widths.sum, column_widths: table_columns_widths, cell_style: { size: TABLE_CELL_FONT_SIZE, From 103aa0b2a2d7b3baaef0975a13fab4bd0f744168 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 2 Dec 2024 16:09:59 +0100 Subject: [PATCH 021/121] use TimeEntry instead of CostQuery entry; use time if available --- .../cost_query/pdf/timesheet_generator.rb | 106 ++++++++---------- 1 file changed, 49 insertions(+), 57 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index a2783031aa97..1c0f1d5fbfea 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -9,16 +9,16 @@ class CostQuery::PDF::TimesheetGenerator H1_MARGIN_BOTTOM = 2 HR_MARGIN_BOTTOM = 16 TABLE_CELL_FONT_SIZE = 10 - TABLE_CELL_BORDER_COLOR = "BBBBBB" + TABLE_CELL_BORDER_COLOR = "BBBBBB".freeze TABLE_CELL_PADDING = 4 - COMMENT_FONT_COLOR = "636C76" + COMMENT_FONT_COLOR = "636C76".freeze H2_FONT_SIZE = 20 H2_MARGIN_BOTTOM = 10 COLUMN_DATE_WIDTH = 66 COLUMN_ACTIVITY_WIDTH = 100 COLUMN_HOURS_WIDTH = 60 - COLUMN_TIME_WIDTH = 80 - COLUMN_WP_WIDTH = 217 + COLUMN_TIME_WIDTH = 100 + COLUMN_WP_WIDTH = 200 attr_accessor :pdf @@ -75,9 +75,9 @@ def render_doc def write_entries! all_entries - .group_by { |r| r.fields["user_id"] } - .each do |user_id, result| - write_table(user_id, result) + .group_by(&:user) + .each do |user, result| + write_table(user, result) end end @@ -86,12 +86,13 @@ def all_entries .each_direct_result .map(&:itself) .filter { |r| r.fields["type"] == "TimeEntry" } + .map { |r| TimeEntry.find(r.fields["id"]) } end def build_table_rows(entries) rows = [table_header_columns] entries - .group_by { |r| DateTime.parse(r.fields["spent_on"]) } + .group_by(&:spent_on) .sort .each do |spent_on, lines| rows.concat(build_table_day_rows(spent_on, lines)) @@ -99,34 +100,34 @@ def build_table_rows(entries) rows end - def build_table_day_rows(spent_on, lines) + def build_table_day_rows(spent_on, entries) day_rows = [] - lines.each do |r| - day_rows.push(build_table_row(spent_on, r)) - if r.fields["comments"].present? - day_rows.push(build_table_row_comment(r)) + entries.each do |entry| + day_rows.push(build_table_row(spent_on, entry)) + if entry.comments.present? + day_rows.push(build_table_row_comment(entry)) end end day_rows end - def build_table_row(spent_on, result_entry) + def build_table_row(spent_on, entry) [ - { content: format_date(spent_on), rowspan: result_entry.fields["comments"].present? ? 2 : 1 }, - wp_subject(result_entry.fields["work_package_id"]), - with_times_column? ? format_spent_on_time(result_entry) : nil, - format_duration(result_entry.fields["units"]), - activity_name(result_entry.fields["activity_id"]) + { content: format_date(spent_on), rowspan: entry.comments.present? ? 2 : 1 }, + entry.work_package.subject || "", + with_times_column? ? format_spent_on_time(entry) : nil, + format_duration(entry.hours), + entry.activity&.name || "" ].compact end - def build_table_row_comment(result_entry) + def build_table_row_comment(entry) [{ - content: result_entry.fields["comments"], - text_color: COMMENT_FONT_COLOR, - font_style: :italic, - colspan: table_columns_widths.size - }] + content: entry.comments, + text_color: COMMENT_FONT_COLOR, + font_style: :italic, + colspan: table_columns_widths.size + }] end def table_header_columns @@ -140,12 +141,15 @@ def table_header_columns end def table_columns_widths - @table_columns_widths ||= with_times_column? ? - [COLUMN_DATE_WIDTH, COLUMN_WP_WIDTH, COLUMN_TIME_WIDTH, COLUMN_HOURS_WIDTH, COLUMN_ACTIVITY_WIDTH] : - [COLUMN_DATE_WIDTH, COLUMN_WP_WIDTH + COLUMN_TIME_WIDTH, COLUMN_HOURS_WIDTH, COLUMN_ACTIVITY_WIDTH] + @table_columns_widths ||= if with_times_column? + [COLUMN_DATE_WIDTH, COLUMN_WP_WIDTH, COLUMN_TIME_WIDTH, COLUMN_HOURS_WIDTH, + COLUMN_ACTIVITY_WIDTH] + else + [COLUMN_DATE_WIDTH, COLUMN_WP_WIDTH + COLUMN_TIME_WIDTH, COLUMN_HOURS_WIDTH, + COLUMN_ACTIVITY_WIDTH] + end end - # rubocop:disable Metrics/AbcSize def build_table(rows) pdf.make_table( rows, @@ -161,13 +165,13 @@ def build_table(rows) } ) do |table| table.columns(0).borders = %i[top bottom left right] - table.columns(-1).style do |c| + table.columns(table_columns_widths.length - 1).style do |c| c.borders = c.borders + [:right] end table.columns(1).style do |c| if c.colspan > 1 c.borders = %i[left right bottom] - c.padding = [0, 5, 8, 5] + c.padding = [0, TABLE_CELL_PADDING, TABLE_CELL_PADDING + 2, TABLE_CELL_PADDING] row_nr = c.row - 1 values = table.columns(1..-1).rows(row_nr..row_nr) values.each do |cell| @@ -201,16 +205,14 @@ def split_group_rows(table_rows) groups end - # rubocop:enable Metrics/AbcSize - - def write_table(user_id, entries) + def write_table(user, entries) rows = build_table_rows(entries) # prawn-table does not support splitting a rowspan cell on page break, so we have to merge the first column manually # for easier handling existing rowspan cells are grouped as one row grouped_rows = split_group_rows(rows) # start a new page if the username would be printed alone at the end of the page pdf.start_new_page if available_space_from_bottom < grouped_rows[0][:height] + grouped_rows[1][:height] + username_height - write_username(user_id) + write_username(user) write_grouped_tables(grouped_rows) end @@ -286,36 +288,26 @@ def username_height 20 + 10 end - def write_username(user_id) - pdf.formatted_text([{ text: user_name(user_id), size: H2_FONT_SIZE }]) + def write_username(user) + pdf.formatted_text([{ text: user.name, size: H2_FONT_SIZE }]) pdf.move_down(H2_MARGIN_BOTTOM) end - def user_name(user_id) - User.select_for_name.find(user_id).name - end - - def activity_name(activity_id) - TimeEntryActivity.find(activity_id).name - end - - def wp_subject(wp_id) - WorkPackage.find(wp_id).subject - end - def format_duration(hours) return "" if hours < 0 - "#{hours}h" + ::OpenProject::Common::DurationComponent.new(hours.to_f, :hours, abbreviated: true).text end - def format_spent_on_time(_result_entry) - # TODO implement times column - # date = result_entry.fields["spent_on"] - # hours = result_entry.fields["units"] - # start_time = result_entry.fields["start_time"] - # time_zone = result_entry.fields["time_zone"] - "" + def format_spent_on_time(entry) + start_timestamp = entry.start_timestamp + return "" if start_timestamp.nil? + + result = format_time(start_timestamp, include_date: false) + end_timestamp = entry.end_timestamp + return result if end_timestamp.nil? + + "#{result} - #{format_time(end_timestamp, include_date: false)}" end def with_times_column? From 02be82e4e3d23898abb1d6217f9276ff2f30037e Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 2 Dec 2024 16:24:19 +0100 Subject: [PATCH 022/121] obey rubocop --- .../cost_query/pdf/timesheet_generator.rb | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 1c0f1d5fbfea..dfabe2390a16 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -164,25 +164,29 @@ def build_table(rows) padding: [TABLE_CELL_PADDING, TABLE_CELL_PADDING, TABLE_CELL_PADDING + 2, TABLE_CELL_PADDING] } ) do |table| - table.columns(0).borders = %i[top bottom left right] - table.columns(table_columns_widths.length - 1).style do |c| - c.borders = c.borders + [:right] - end - table.columns(1).style do |c| - if c.colspan > 1 - c.borders = %i[left right bottom] - c.padding = [0, TABLE_CELL_PADDING, TABLE_CELL_PADDING + 2, TABLE_CELL_PADDING] - row_nr = c.row - 1 - values = table.columns(1..-1).rows(row_nr..row_nr) - values.each do |cell| - cell.borders = cell.borders - [:bottom] - end + adjust_prawn_table_cell_borders(table) + end + end + + def adjust_prawn_table_cell_borders(table) + table.columns(0).borders = %i[top bottom left right] + table.columns(table_columns_widths.length - 1).style do |c| + c.borders = c.borders + [:right] + end + table.columns(1).style do |c| + if c.colspan > 1 + c.borders = %i[left right bottom] + c.padding = [0, TABLE_CELL_PADDING, TABLE_CELL_PADDING + 2, TABLE_CELL_PADDING] + row_nr = c.row - 1 + values = table.columns(1..-1).rows(row_nr..row_nr) + values.each do |cell| + cell.borders = cell.borders - [:bottom] end end - table.rows(0).style do |c| - c.borders = c.borders + [:top] - c.font_style = :bold - end + end + table.rows(0).style do |c| + c.borders = c.borders + [:top] + c.font_style = :bold end end From 58957f23a631b43fd22f8eef35057a259258e07e Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 10:38:04 +0100 Subject: [PATCH 023/121] obey rubocop --- .../cost_query/pdf/timesheet_generator.rb | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index dfabe2390a16..8d9239933b20 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -164,15 +164,22 @@ def build_table(rows) padding: [TABLE_CELL_PADDING, TABLE_CELL_PADDING, TABLE_CELL_PADDING + 2, TABLE_CELL_PADDING] } ) do |table| - adjust_prawn_table_cell_borders(table) + adjust_borders_first_column(table) + adjust_borders_last_column(table) + adjust_borders_spanned_column(table) + adjust_border_header_row(table) end end - def adjust_prawn_table_cell_borders(table) + def adjust_borders_first_column(table) table.columns(0).borders = %i[top bottom left right] - table.columns(table_columns_widths.length - 1).style do |c| - c.borders = c.borders + [:right] - end + end + + def adjust_borders_last_column(table) + table.columns(0).borders = %i[top bottom left right] + end + + def adjust_borders_spanned_column(table) table.columns(1).style do |c| if c.colspan > 1 c.borders = %i[left right bottom] @@ -184,6 +191,9 @@ def adjust_prawn_table_cell_borders(table) end end end + end + + def adjust_border_header_row(table) table.rows(0).style do |c| c.borders = c.borders + [:top] c.font_style = :bold From f0862e8374bb161a2adb422294b8529742d8e47e Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 10:38:19 +0100 Subject: [PATCH 024/121] add tests for export job and costs view download --- .../spec/features/export_timesheet_spec.rb | 65 ++++++++++++ .../workers/cost_query/pdf/export_job_spec.rb | 100 ++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 modules/reporting/spec/features/export_timesheet_spec.rb create mode 100644 modules/reporting/spec/workers/cost_query/pdf/export_job_spec.rb diff --git a/modules/reporting/spec/features/export_timesheet_spec.rb b/modules/reporting/spec/features/export_timesheet_spec.rb new file mode 100644 index 000000000000..df3db35ad348 --- /dev/null +++ b/modules/reporting/spec/features/export_timesheet_spec.rb @@ -0,0 +1,65 @@ +#-- 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. +#++ + +require_relative "../spec_helper" +require_relative "support/pages/cost_report_page" +require "pdf/inspector" + +RSpec.describe "Timesheet PDF export", :js do + shared_let(:project) { create(:project) } + shared_let(:user) { create(:admin) } + shared_let(:cost_type) { create(:cost_type, name: "Post-war", unit: "cap", unit_plural: "caps") } + shared_let(:work_package) { create(:work_package, project:, subject: "Some task") } + shared_let(:cost_entry) { create(:cost_entry, user:, work_package:, project:, cost_type:) } + let(:report_page) { Pages::CostReportPage.new project } + + subject { @download_list.refresh_from(page).latest_download.to_s } # rubocop:disable RSpec/InstanceVariable + + before do + @download_list = DownloadList.new + login_as(user) + end + + after do + DownloadList.clear + end + + it "can download the PDF" do + report_page.visit! + click_on I18n.t("export.timesheet.button") + + expect(page).to have_content I18n.t("job_status_dialog.generic_messages.in_queue"), + wait: 10 + perform_enqueued_jobs + + expect(page).to have_text(I18n.t("export.succeeded"), + wait: 10) + + expect(subject).to have_text(".pdf") + end +end diff --git a/modules/reporting/spec/workers/cost_query/pdf/export_job_spec.rb b/modules/reporting/spec/workers/cost_query/pdf/export_job_spec.rb new file mode 100644 index 000000000000..f18a56bf2c85 --- /dev/null +++ b/modules/reporting/spec/workers/cost_query/pdf/export_job_spec.rb @@ -0,0 +1,100 @@ +# frozen_string_literal: true + +#-- 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. +#++ + +require "spec_helper" + +RSpec.describe CostQuery::PDF::ExportJob do + let(:user) { build_stubbed(:user) } + let(:project) { build_stubbed(:project) } + + let(:initial_filter_params) do + { + project_context: project.id, + operators: { + user_id: "=", spent_on: ">d", project_id: "=" + }, + values: { + user_id: ["me"], spent_on: ["2024-03-30", ""], project_id: [project.id.to_s] + } + } + end + + before do + mock_permissions_for(user, &:allow_everything) + end + + # Performs a cost export with the given extra filters. + # + # @param extra_filters [Hash] A hash of attribute names and operator/value + # pairs to add to the filter. + # Example: `{ custom_field_17: ["=", "value"], user_id: ["=", "me"]}` + def perform_cost_export(extra_filters: {}) + query = initial_filter_params.deep_dup + extra_filters.each do |attribute_name, operator_and_value| + operator, value = operator_and_value + query[:operators][attribute_name] = operator + query[:values][attribute_name] = value + end + job = described_class.new( + export: CostQuery::Export.create, + user:, + mime_type: :pdf, + query:, + project:, + cost_types: [-1, 0] + ) + job.perform_now + job + end + + RSpec::Matchers.define :have_one_attachment_with_content_type do |expected_content_type| + def attachments(export_job) + export_job.status_reference.attachments + end + + match do |export_job| + attachments_content_types = attachments(export_job).pluck(:content_type) + attachments_content_types == [expected_content_type] + end + + failure_message do |export_job| + attachments_content_types = attachments(export_job).pluck(:content_type) + "expected that #{actual} would have one attachment with mime type #{expected.inspect}, " \ + "got #{attachments_content_types.inspect} instead" + end + end + + it "generates an PDF export successfully" do + job = perform_cost_export + + expect(job.job_status).to be_success, job.job_status.message + expect(job).to have_one_attachment_with_content_type("application/pdf") + end +end From cc588d4e4d58558dda2c2ad421046e5c42ca3126 Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 10:55:53 +0100 Subject: [PATCH 025/121] fix last column borders --- .../app/workers/cost_query/pdf/timesheet_generator.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 8d9239933b20..02954c35151f 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -176,7 +176,9 @@ def adjust_borders_first_column(table) end def adjust_borders_last_column(table) - table.columns(0).borders = %i[top bottom left right] + table.columns(table_columns_widths.length - 1).style do |c| + c.borders = c.borders + [:right] + end end def adjust_borders_spanned_column(table) From c94d80423474639ef4d3ae14a085fc5d00e4f439 Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 12:23:30 +0100 Subject: [PATCH 026/121] modify pdf cover page to display export specific values --- .../work_package/pdf_export/export/cover.rb | 33 +++++++++++------ .../pdf_export/export/schema.json | 36 +++++++++++++++++++ .../pdf_export/export/standard.yml | 9 +++-- .../work_package/pdf_export/export/style.rb | 12 +++++++ .../pdf_export/work_package_list_to_pdf.rb | 16 +++++++++ .../app/workers/cost_query/pdf/export_job.rb | 6 +--- .../cost_query/pdf/timesheet_generator.rb | 32 +++++++++++++---- 7 files changed, 119 insertions(+), 25 deletions(-) diff --git a/app/models/work_package/pdf_export/export/cover.rb b/app/models/work_package/pdf_export/export/cover.rb index e50d0c101c30..15f70188e9be 100644 --- a/app/models/work_package/pdf_export/export/cover.rb +++ b/app/models/work_package/pdf_export/export/cover.rb @@ -40,17 +40,19 @@ def write_cover_page! def write_cover_hero max_width = pdf.bounds.width - styles.cover_hero_padding[:right_padding] float_top = write_background_image - float_top -= write_hero_title(float_top, max_width) if project - float_top -= write_hero_heading(float_top, max_width) - write_hero_subheading(float_top, max_width) unless User.current.nil? + float_top -= write_hero_title(float_top, max_width) if cover_page_title.present? + float_top -= write_hero_heading(float_top, max_width) if cover_page_heading.present? + float_top -= write_hero_dates(float_top, max_width) if cover_page_dates.present? + write_hero_subheading(float_top, max_width) if cover_page_subheading.present? end def available_title_height(current_y) - current_y - - styles.cover_hero_title_max_height - - styles.cover_hero_title_spacing - - styles.cover_hero_heading_spacing - - styles.cover_hero_subheading_max_height + result = current_y + result -= styles.cover_hero_title_max_height + styles.cover_hero_title_spacing if cover_page_title.present? + result -= styles.cover_hero_heading_spacing if cover_page_heading.present? + result -= styles.cover_hero_dates_spacing if cover_page_dates.present? + result -= styles.cover_hero_subheading_max_height if cover_page_subheading.present? + result end def write_cover_hr @@ -83,7 +85,7 @@ def validate_cover_text_color def write_hero_title(top, width) write_hero_text( top:, width:, - text: project.name, + text: cover_page_title, text_style: styles.cover_hero_title, height: styles.cover_hero_title_max_height ) + styles.cover_hero_title_spacing @@ -92,16 +94,25 @@ def write_hero_title(top, width) def write_hero_heading(top, width) write_hero_text( top:, width:, - text: heading, + text: cover_page_heading, text_style: styles.cover_hero_heading, height: available_title_height(top) ) + styles.cover_hero_heading_spacing end + def write_hero_dates(top, width) + write_hero_text( + top:, width:, + text: cover_page_dates, + text_style: styles.cover_hero_dates, + height: styles.cover_hero_dates_max_height + ) + styles.cover_hero_dates_spacing + end + def write_hero_subheading(top, width) write_hero_text( top:, width:, - text: User.current.name, + text: cover_page_subheading, text_style: styles.cover_hero_subheading, height: styles.cover_hero_subheading_max_height ) diff --git a/app/models/work_package/pdf_export/export/schema.json b/app/models/work_package/pdf_export/export/schema.json index 50c64700b44a..316f60469667 100644 --- a/app/models/work_package/pdf_export/export/schema.json +++ b/app/models/work_package/pdf_export/export/schema.json @@ -193,6 +193,42 @@ } ] }, + "dates" : { + "title" : "The dates block in the hero", + "type" : "object", + "x-example" : { + "heading" : { + "spacing" : 10, + "max_height" : 20, + "size" : 32, + "color" : "414d5f", + "styles" : [ + "bold" + ] + } + }, + "properties" : { + "max_height" : { + "title" : "Maximum height of the block", + "examples" : [ + 30 + ], + "$ref" : "#/$defs/measurement" + }, + "spacing" : { + "title" : "Minimum spacing between dates and subheading", + "examples" : [ + 10 + ], + "$ref" : "#/$defs/measurement" + } + }, + "allOf" : [ + { + "$ref" : "#/$defs/font" + } + ] + }, "subheading" : { "title" : "The last block in the hero", "type" : "object", diff --git a/app/models/work_package/pdf_export/export/standard.yml b/app/models/work_package/pdf_export/export/standard.yml index 915d6dd37c2e..ecfc8a0a904b 100644 --- a/app/models/work_package/pdf_export/export/standard.yml +++ b/app/models/work_package/pdf_export/export/standard.yml @@ -275,9 +275,14 @@ cover: styles: - bold size: 16 + dates: + spacing: 4 + max_height: 16 + color: '414d5f' + size: 10 + styles: + - bold subheading: max_height: 30 color: '414d5f' - styles: - - italic size: 10 diff --git a/app/models/work_package/pdf_export/export/style.rb b/app/models/work_package/pdf_export/export/style.rb index 4a1a152adf1f..8e4197138903 100644 --- a/app/models/work_package/pdf_export/export/style.rb +++ b/app/models/work_package/pdf_export/export/style.rb @@ -253,6 +253,18 @@ def cover_hero_heading_spacing resolve_pt(@styles.dig(:cover, :hero, :heading, :spacing), 0) end + def cover_hero_dates + resolve_font(@styles.dig(:cover, :hero, :dates)) + end + + def cover_hero_dates_spacing + resolve_pt(@styles.dig(:cover, :hero, :dates, :spacing), 0) + end + + def cover_hero_dates_max_height + resolve_pt(@styles.dig(:cover, :hero, :dates, :max_height), 0) + end + def cover_hero_subheading resolve_font(@styles.dig(:cover, :hero, :subheading)) end diff --git a/app/models/work_package/pdf_export/work_package_list_to_pdf.rb b/app/models/work_package/pdf_export/work_package_list_to_pdf.rb index 9b399c22d0d5..b62855f71c5b 100644 --- a/app/models/work_package/pdf_export/work_package_list_to_pdf.rb +++ b/app/models/work_package/pdf_export/work_package_list_to_pdf.rb @@ -111,6 +111,22 @@ def with_cover? wants_report? end + def cover_page_title + project&.name + end + + def cover_page_heading + heading + end + + def cover_page_subheading + User.current&.name + end + + def cover_page_dates + nil + end + def render_work_packages_pdfs(work_packages, filename) write_cover_page! if with_cover? if wants_gantt? diff --git a/modules/reporting/app/workers/cost_query/pdf/export_job.rb b/modules/reporting/app/workers/cost_query/pdf/export_job.rb index de22ffc5a575..6aa14f64f8cf 100644 --- a/modules/reporting/app/workers/cost_query/pdf/export_job.rb +++ b/modules/reporting/app/workers/cost_query/pdf/export_job.rb @@ -7,10 +7,6 @@ def project options[:project] end - def cost_types - options[:cost_types] - end - def title I18n.t("export.timesheet.title") end @@ -38,7 +34,7 @@ def pdf_report_result end def generate_timesheet - generator = ::CostQuery::PDF::TimesheetGenerator.new(query, project, cost_types) + generator = ::CostQuery::PDF::TimesheetGenerator.new(query, project) generator.generate! end end diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 02954c35151f..007a2b5d7290 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -22,10 +22,9 @@ class CostQuery::PDF::TimesheetGenerator attr_accessor :pdf - def initialize(query, project, cost_types) + def initialize(query, project) @query = query @project = project - @cost_types = cost_types setup_page! end @@ -37,6 +36,25 @@ def footer_title heading end + def cover_page_title + "OpenProject" + end + + def cover_page_heading + heading + end + + def cover_page_dates + dates_range = all_entries.group_by(&:spent_on).sort + start_date = dates_range.first&.first + end_date = dates_range.last&.first + "#{format_date(start_date)} - #{format_date(end_date)}" if start_date && end_date + end + + def cover_page_subheading + User.current&.name + end + def project @project end @@ -82,11 +100,11 @@ def write_entries! end def all_entries - query - .each_direct_result - .map(&:itself) - .filter { |r| r.fields["type"] == "TimeEntry" } - .map { |r| TimeEntry.find(r.fields["id"]) } + @all_entries ||= query + .each_direct_result + .map(&:itself) + .filter { |r| r.fields["type"] == "TimeEntry" } + .map { |r| TimeEntry.find(r.fields["id"]) } end def build_table_rows(entries) From 93716ef951fb9ba563d2666e3710511a57d12d5d Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 12:42:10 +0100 Subject: [PATCH 027/121] obey rubocop --- .../work_package/pdf_export/export/cover.rb | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/app/models/work_package/pdf_export/export/cover.rb b/app/models/work_package/pdf_export/export/cover.rb index 15f70188e9be..726746b6e1b8 100644 --- a/app/models/work_package/pdf_export/export/cover.rb +++ b/app/models/work_package/pdf_export/export/cover.rb @@ -40,19 +40,19 @@ def write_cover_page! def write_cover_hero max_width = pdf.bounds.width - styles.cover_hero_padding[:right_padding] float_top = write_background_image - float_top -= write_hero_title(float_top, max_width) if cover_page_title.present? - float_top -= write_hero_heading(float_top, max_width) if cover_page_heading.present? - float_top -= write_hero_dates(float_top, max_width) if cover_page_dates.present? - write_hero_subheading(float_top, max_width) if cover_page_subheading.present? + float_top -= write_hero_title(float_top, max_width) + float_top -= write_hero_heading(float_top, max_width) + float_top -= write_hero_dates(float_top, max_width) + write_hero_subheading(float_top, max_width) end def available_title_height(current_y) - result = current_y - result -= styles.cover_hero_title_max_height + styles.cover_hero_title_spacing if cover_page_title.present? - result -= styles.cover_hero_heading_spacing if cover_page_heading.present? - result -= styles.cover_hero_dates_spacing if cover_page_dates.present? - result -= styles.cover_hero_subheading_max_height if cover_page_subheading.present? - result + current_y - [ + (styles.cover_hero_title_max_height + styles.cover_hero_title_spacing if cover_page_title.present?), + (styles.cover_hero_heading_spacing if cover_page_heading.present?), + (styles.cover_hero_dates_max_height if cover_page_dates.present?), + (styles.cover_hero_subheading_max_height if cover_page_subheading.present?) + ].compact.sum end def write_cover_hr @@ -83,6 +83,8 @@ def validate_cover_text_color end def write_hero_title(top, width) + return 0 if cover_page_title.blank? + write_hero_text( top:, width:, text: cover_page_title, @@ -92,6 +94,8 @@ def write_hero_title(top, width) end def write_hero_heading(top, width) + return 0 if cover_page_heading.blank? + write_hero_text( top:, width:, text: cover_page_heading, @@ -101,6 +105,8 @@ def write_hero_heading(top, width) end def write_hero_dates(top, width) + return 0 if cover_page_dates.blank? + write_hero_text( top:, width:, text: cover_page_dates, @@ -110,6 +116,8 @@ def write_hero_dates(top, width) end def write_hero_subheading(top, width) + return 0 if cover_page_subheading.blank? + write_hero_text( top:, width:, text: cover_page_subheading, From 230d51ce47fcf3d7c8a74c83b32dd67a5c4b47e2 Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 12:53:43 +0100 Subject: [PATCH 028/121] use duration converter as used in wireframe (& other PDF exports) --- .../reporting/app/workers/cost_query/pdf/timesheet_generator.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 007a2b5d7290..c58392bab5dd 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -330,7 +330,7 @@ def write_username(user) def format_duration(hours) return "" if hours < 0 - ::OpenProject::Common::DurationComponent.new(hours.to_f, :hours, abbreviated: true).text + DurationConverter.output(hours) end def format_spent_on_time(entry) From cc2641fd863dc76c7a1da318bcd26c62268b868c Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 13:05:20 +0100 Subject: [PATCH 029/121] obey rubocop --- app/models/work_package/pdf_export/export/cover.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/models/work_package/pdf_export/export/cover.rb b/app/models/work_package/pdf_export/export/cover.rb index 726746b6e1b8..8daf1b1448dc 100644 --- a/app/models/work_package/pdf_export/export/cover.rb +++ b/app/models/work_package/pdf_export/export/cover.rb @@ -48,11 +48,11 @@ def write_cover_hero def available_title_height(current_y) current_y - [ - (styles.cover_hero_title_max_height + styles.cover_hero_title_spacing if cover_page_title.present?), - (styles.cover_hero_heading_spacing if cover_page_heading.present?), - (styles.cover_hero_dates_max_height if cover_page_dates.present?), - (styles.cover_hero_subheading_max_height if cover_page_subheading.present?) - ].compact.sum + cover_page_title&.then { styles.cover_hero_title_max_height + styles.cover_hero_title_spacing } || 0, + cover_page_heading&.then { styles.cover_hero_heading_spacing } || 0, + cover_page_dates&.then { styles.cover_hero_dates_max_height } || 0, + cover_page_subheading&.then { styles.cover_hero_subheading_max_height } || 0 + ].sum end def write_cover_hr From 80149260495c791e196678460aaaa6e4b79d0957 Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 13:26:29 +0100 Subject: [PATCH 030/121] obey rubocop --- .../work_package/pdf_export/export/cover.rb | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/app/models/work_package/pdf_export/export/cover.rb b/app/models/work_package/pdf_export/export/cover.rb index 8daf1b1448dc..a91eed6ead2f 100644 --- a/app/models/work_package/pdf_export/export/cover.rb +++ b/app/models/work_package/pdf_export/export/cover.rb @@ -47,12 +47,27 @@ def write_cover_hero end def available_title_height(current_y) - current_y - [ - cover_page_title&.then { styles.cover_hero_title_max_height + styles.cover_hero_title_spacing } || 0, - cover_page_heading&.then { styles.cover_hero_heading_spacing } || 0, - cover_page_dates&.then { styles.cover_hero_dates_max_height } || 0, - cover_page_subheading&.then { styles.cover_hero_subheading_max_height } || 0 - ].sum + current_y - + cover_hero_title_max_height - + cover_hero_heading_max_height - + cover_hero_dates_max_height - + cover_hero_subheading_max_height + end + + def cover_hero_title_max_height + cover_page_title&.then { styles.cover_hero_title_max_height + styles.cover_hero_title_spacing } || 0 + end + + def cover_hero_heading_max_height + cover_page_heading&.then { styles.cover_hero_heading_spacing } || 0 + end + + def cover_hero_dates_max_height + cover_page_dates&.then { styles.cover_hero_dates_max_height } || 0 + end + + def cover_hero_subheading_max_height + cover_page_title&.then { styles.cover_hero_title_max_height + styles.cover_hero_title_spacing } || 0 end def write_cover_hr From 7efed5b277c675af812cdb57cb07cfde98364b00 Mon Sep 17 00:00:00 2001 From: ulferts Date: Wed, 4 Dec 2024 14:06:12 +0100 Subject: [PATCH 031/121] limit select for user cf value options --- app/models/custom_field.rb | 15 +++++++++------ spec/lib/custom_field_form_builder_spec.rb | 9 +++++++-- .../actions/custom_field_spec.rb | 18 ++++++++++++++---- spec/models/custom_field_spec.rb | 14 ++++++++++++-- 4 files changed, 42 insertions(+), 14 deletions(-) diff --git a/app/models/custom_field.rb b/app/models/custom_field.rb index 9fc37427bde9..ca359cf91966 100644 --- a/app/models/custom_field.rb +++ b/app/models/custom_field.rb @@ -326,12 +326,15 @@ def possible_version_values_options(obj) def possible_user_values_options(obj) mapped_with_deduced_project(obj) do |project| - if project&.persisted? - project.principals - else - Principal - .in_visible_project_or_me(User.current) - end + scope = if project&.persisted? + project.principals + else + Principal + .in_visible_project_or_me(User.current) + end + + scope + .select(*(User::USER_FORMATS_STRUCTURE[Setting.user_format].map(&:to_s) << "id")) end end diff --git a/spec/lib/custom_field_form_builder_spec.rb b/spec/lib/custom_field_form_builder_spec.rb index 00820ae90378..06337c5ed128 100644 --- a/spec/lib/custom_field_form_builder_spec.rb +++ b/spec/lib/custom_field_form_builder_spec.rb @@ -255,6 +255,7 @@ let(:project) { build_stubbed(:project) } let(:user1) { build_stubbed(:user) } let(:user2) { build_stubbed(:user) } + let(:scope) { instance_double(ActiveRecord::Relation) } let(:resource) { project } @@ -268,8 +269,12 @@ end allow(project) - .to(receive(:principals)) - .and_return([user1, user2]) + .to receive(:principals) + .and_return(scope) + + allow(scope) + .to receive(:select) + .and_return([user1, user2]) end it_behaves_like "wrapped in container", "select-container" do diff --git a/spec/models/custom_actions/actions/custom_field_spec.rb b/spec/models/custom_actions/actions/custom_field_spec.rb index 05c68c594384..afc2c54b1f00 100644 --- a/spec/models/custom_actions/actions/custom_field_spec.rb +++ b/spec/models/custom_actions/actions/custom_field_spec.rb @@ -441,12 +441,17 @@ build_stubbed(:user), build_stubbed(:user)] end + let(:scope) { instance_double(ActiveRecord::Relation) } before do allow(Principal) .to receive(:in_visible_project_or_me) - .with(User.current) - .and_return(users) + .with(User.current) + .and_return(scope) + + allow(scope) + .to receive(:select) + .and_return(users) end context "for a non required field" do @@ -515,12 +520,17 @@ build_stubbed(:user), build_stubbed(:user)] end + let(:scope) { instance_double(ActiveRecord::Relation) } before do allow(Principal) .to receive(:in_visible_project_or_me) - .with(User.current) - .and_return(users) + .with(User.current) + .and_return(scope) + + allow(scope) + .to receive(:select) + .and_return(users) end it_behaves_like "associated custom action validations" do diff --git a/spec/models/custom_field_spec.rb b/spec/models/custom_field_spec.rb index f448ba748120..67ecadbe568e 100644 --- a/spec/models/custom_field_spec.rb +++ b/spec/models/custom_field_spec.rb @@ -215,17 +215,27 @@ let(:project) { build_stubbed(:project) } let(:user1) { build_stubbed(:user) } let(:user2) { build_stubbed(:user) } + let(:in_visible_scope) { instance_double(ActiveRecord::Relation) } + let(:principals_scope) { instance_double(ActiveRecord::Relation) } context "for a user custom field" do before do field.field_format = "user" allow(project) .to receive(:principals) - .and_return([user1, user2]) + .and_return(principals_scope) + + allow(principals_scope) + .to receive(:select) + .and_return([user1, user2]) allow(Principal) .to receive(:in_visible_project_or_me) - .and_return([user2]) + .and_return(in_visible_scope) + + allow(in_visible_scope) + .to receive(:select) + .and_return([user2]) end context "for a project" do From 5dfe2b378fbce1b78658f2eaf59d7f68826fa05e Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 15:33:55 +0100 Subject: [PATCH 032/121] add pdf inspector spec for timesheet export --- .../spec/features/export_timesheet_spec.rb | 1 - .../pdf/timesheet_generator_spec.rb | 167 ++++++++++++++++++ 2 files changed, 167 insertions(+), 1 deletion(-) create mode 100644 modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb diff --git a/modules/reporting/spec/features/export_timesheet_spec.rb b/modules/reporting/spec/features/export_timesheet_spec.rb index df3db35ad348..35f552fc9611 100644 --- a/modules/reporting/spec/features/export_timesheet_spec.rb +++ b/modules/reporting/spec/features/export_timesheet_spec.rb @@ -28,7 +28,6 @@ require_relative "../spec_helper" require_relative "support/pages/cost_report_page" -require "pdf/inspector" RSpec.describe "Timesheet PDF export", :js do shared_let(:project) { create(:project) } diff --git a/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb b/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb new file mode 100644 index 000000000000..7d7cf08f2303 --- /dev/null +++ b/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb @@ -0,0 +1,167 @@ +# frozen_string_literal: true + +#-- 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. +#++ + +require "spec_helper" +require "pdf/inspector" + +RSpec.describe CostQuery::PDF::TimesheetGenerator do + include Redmine::I18n + let(:query) { create(:cost_query) } + let(:user) { create(:user, firstname: "Export", lastname: "User") } + let(:time_entry_user) { create(:user, firstname: "TimeEntry", lastname: "User") } + let(:project) { create(:project) } + let(:generator) { described_class.new(query, project) } + let(:export_time) { DateTime.new(2024, 12, 04, 23, 59) } + let(:export_time_formatted) { format_time(export_time, include_date: true) } + let(:user_time_entry) { + create(:time_entry, + project:, + user: user, + spent_on: Date.new(2024, 12, 01), + start_time: 8 * 60, + time_zone: "UTC" + ) } + let(:time_entry) { + create(:time_entry, + project:, + user: time_entry_user, + spent_on: Date.new(2024, 12, 01), + start_time: 9 * 60, + time_zone: "UTC" + ) } + let(:other_time_entry) { + create(:time_entry, + project:, + user: time_entry_user, + spent_on: Date.new(2024, 12, 01), + start_time: 10 * 60, + time_zone: "UTC" + ) } + let(:time_entry_with_comment) { + create(:time_entry, + project:, + user: time_entry_user, + comments: "This is a comment", + spent_on: Date.new(2024, 12, 02) + ) } + let(:time_entry_without_time) { + create(:time_entry, + project:, + user: time_entry_user, + spent_on: Date.new(2024, 12, 03) + ) } + let(:time_entries) { [user_time_entry, time_entry, other_time_entry, time_entry_with_comment, time_entry_without_time] } + + before do + User.current = user + allow(generator).to receive(:all_entries).and_return(time_entries) + end + + subject(:pdf) do + content = Timecop.freeze(export_time) do + generator.generate! + end + # If you want to actually see the PDF for debugging, uncomment the following line + # File.binwrite("TimesheetGenerator-test-preview.pdf", content) + PDF::Inspector::Text.analyze(content).strings.join(" ") + end + + def expected_cover_page + ["OpenProject", query.name, + time_entries.empty? ? nil : "#{format_date(time_entries.first.spent_on)} - #{format_date(time_entries.last.spent_on)}", + user.name, export_time_formatted].compact + end + + def expected_first_page_content + [query.name] + end + + def expected_table_header(with_times_column) + [ + I18n.t(:"activerecord.attributes.time_entry.spent_on"), + I18n.t(:"activerecord.models.work_package"), + with_times_column ? I18n.t(:"export.timesheet.time") : nil, + I18n.t(:"activerecord.attributes.time_entry.hours"), + I18n.t(:"activerecord.attributes.time_entry.activity") + ].compact + end + + def expected_page_footer(page_number) + [page_number, export_time_formatted, query.name] + end + + def expected_entry_row(t_entry, with_times_column) + [format_date(t_entry.spent_on)].concat(expected_entry_columns(t_entry, with_times_column)) + end + + def expected_entry_columns(t_entry, with_times_column) + time_column = generator.format_spent_on_time(t_entry) + [ + t_entry.work_package.subject, + with_times_column && time_column.present? ? time_column : nil, + generator.format_duration(t_entry.hours), + t_entry.activity.name, + t_entry.comments + ].compact + end + + def expected_document(with_times_column) + [ + *expected_cover_page, + *expected_first_page_content, + + user.name, + *expected_table_header(with_times_column), + *expected_entry_row(user_time_entry, with_times_column), + + time_entry.user.name, + *expected_table_header(with_times_column), + format_date(time_entry.spent_on), # merged date rows + *expected_entry_columns(time_entry, with_times_column), + *expected_entry_columns(other_time_entry, with_times_column), + *expected_entry_row(time_entry_with_comment, with_times_column), + *expected_entry_row(time_entry_without_time, with_times_column), + + *expected_page_footer("1") + ].join(" ") + end + + context "with allow_tracking_start_and_end_times", with_settings: { allow_tracking_start_and_end_times: true } do + it "renders the expected document" do + expect(subject).to eq expected_document(true) + end + end + + context "without allow_tracking_start_and_end_times", with_settings: { allow_tracking_start_and_end_times: false } do + it "renders the expected document" do + expect(subject).to eq expected_document(false) + end + end +end From 57e99f4af4cd0c1bf42834c5ccab2313f906e203 Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 15:36:53 +0100 Subject: [PATCH 033/121] obey rubocop --- .../pdf/timesheet_generator_spec.rb | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb b/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb index 7d7cf08f2303..846cff38fac8 100644 --- a/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb +++ b/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb @@ -38,45 +38,45 @@ let(:time_entry_user) { create(:user, firstname: "TimeEntry", lastname: "User") } let(:project) { create(:project) } let(:generator) { described_class.new(query, project) } - let(:export_time) { DateTime.new(2024, 12, 04, 23, 59) } + let(:export_time) { DateTime.new(2024, 12, 4, 23, 59) } let(:export_time_formatted) { format_time(export_time, include_date: true) } - let(:user_time_entry) { + let(:user_time_entry) do create(:time_entry, project:, user: user, - spent_on: Date.new(2024, 12, 01), + spent_on: Date.new(2024, 12, 0o1), start_time: 8 * 60, - time_zone: "UTC" - ) } - let(:time_entry) { + time_zone: "UTC") + end + let(:time_entry) do create(:time_entry, project:, user: time_entry_user, - spent_on: Date.new(2024, 12, 01), + spent_on: Date.new(2024, 12, 0o1), start_time: 9 * 60, - time_zone: "UTC" - ) } - let(:other_time_entry) { + time_zone: "UTC") + end + let(:other_time_entry) do create(:time_entry, project:, user: time_entry_user, - spent_on: Date.new(2024, 12, 01), + spent_on: Date.new(2024, 12, 0o1), start_time: 10 * 60, - time_zone: "UTC" - ) } - let(:time_entry_with_comment) { + time_zone: "UTC") + end + let(:time_entry_with_comment) do create(:time_entry, project:, user: time_entry_user, comments: "This is a comment", - spent_on: Date.new(2024, 12, 02) - ) } - let(:time_entry_without_time) { + spent_on: Date.new(2024, 12, 0o2)) + end + let(:time_entry_without_time) do create(:time_entry, project:, user: time_entry_user, - spent_on: Date.new(2024, 12, 03) - ) } + spent_on: Date.new(2024, 12, 0o3)) + end let(:time_entries) { [user_time_entry, time_entry, other_time_entry, time_entry_with_comment, time_entry_without_time] } before do From 32b35fac1954675459f0220a90596a73e8973457 Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 16:12:14 +0100 Subject: [PATCH 034/121] show different times on (+days), e.g. "23:00 - 04:00 (+1d)" --- .../cost_query/pdf/timesheet_generator.rb | 18 +++++++++++++++--- .../cost_query/pdf/timesheet_generator_spec.rb | 2 +- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index c58392bab5dd..14802af414f2 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -134,7 +134,7 @@ def build_table_row(spent_on, entry) { content: format_date(spent_on), rowspan: entry.comments.present? ? 2 : 1 }, entry.work_package.subject || "", with_times_column? ? format_spent_on_time(entry) : nil, - format_duration(entry.hours), + format_hours(entry.hours), entry.activity&.name || "" ].compact end @@ -327,7 +327,7 @@ def write_username(user) pdf.move_down(H2_MARGIN_BOTTOM) end - def format_duration(hours) + def format_hours(hours) return "" if hours < 0 DurationConverter.output(hours) @@ -341,7 +341,19 @@ def format_spent_on_time(entry) end_timestamp = entry.end_timestamp return result if end_timestamp.nil? - "#{result} - #{format_time(end_timestamp, include_date: false)}" + days_between_suffix = format_days_between(start_timestamp, end_timestamp) + "#{result} - #{format_time(end_timestamp, include_date: false)}#{days_between_suffix}" + end + + def format_days_between(start_timestamp, end_timestamp) + days_between = (end_timestamp.to_date - start_timestamp.to_date).to_i + if days_between.positive? + " (+#{days_formatter.format_value(days_between, nil).delete(' ')})" + end + end + + def days_formatter + @days_formatter ||= WorkPackage::Exports::Formatters::Days.new(nil) end def with_times_column? diff --git a/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb b/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb index 846cff38fac8..7067e42b2275 100644 --- a/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb +++ b/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb @@ -126,7 +126,7 @@ def expected_entry_columns(t_entry, with_times_column) [ t_entry.work_package.subject, with_times_column && time_column.present? ? time_column : nil, - generator.format_duration(t_entry.hours), + generator.format_hours(t_entry.hours), t_entry.activity.name, t_entry.comments ].compact From cf7d21c60d6df82f511a557e6d8de41fd06fa84c Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 16:32:08 +0100 Subject: [PATCH 035/121] adjust time column with for us time format --- .../app/workers/cost_query/pdf/timesheet_generator.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 14802af414f2..bec3d2d9748c 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -17,8 +17,8 @@ class CostQuery::PDF::TimesheetGenerator COLUMN_DATE_WIDTH = 66 COLUMN_ACTIVITY_WIDTH = 100 COLUMN_HOURS_WIDTH = 60 - COLUMN_TIME_WIDTH = 100 - COLUMN_WP_WIDTH = 200 + COLUMN_TIME_WIDTH = 110 + COLUMN_WP_WIDTH = 190 attr_accessor :pdf From 638596ed0385620966b542b2df42b695a2d2ff31 Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 16:34:50 +0100 Subject: [PATCH 036/121] revert changes to cost_query sql --- modules/reporting/app/models/cost_query/sql_statement.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/reporting/app/models/cost_query/sql_statement.rb b/modules/reporting/app/models/cost_query/sql_statement.rb index d43b2dc2920c..d2cf27cb09d4 100644 --- a/modules/reporting/app/models/cost_query/sql_statement.rb +++ b/modules/reporting/app/models/cost_query/sql_statement.rb @@ -74,8 +74,6 @@ def to_s # cost_type_id | -1 | cost_type_id # type | "TimeEntry" | "CostEntry" # count | 1 | 1 - # start_time | start_time | nil - # time_zone | time_zone | nil # # Also: This _should_ handle joining activities and cost_types, as the logic differs for time_entries # and cost_entries. @@ -104,7 +102,7 @@ def self.unified_entry(model) # # @param [CostQuery::SqlStatement] query The statement to adjust def self.unify_time_entries(query) - query.select :activity_id, :logged_by_id, :start_time, :time_zone, units: :hours, cost_type_id: -1 + query.select :activity_id, :logged_by_id, :start_time, cost_type_id: -1 query.select cost_type: quoted_label(:caption_labor) end @@ -113,7 +111,7 @@ def self.unify_time_entries(query) # # @param [CostQuery::SqlStatement] query The statement to adjust def self.unify_cost_entries(query) - query.select :units, :cost_type_id, :logged_by_id, activity_id: -1, start_time: nil, time_zone: nil + query.select :units, :cost_type_id, :logged_by_id, activity_id: -1 query.select cost_type: "cost_types.name" query.join CostType end From a847cb07dde817524971dc6ffd973cb970801acf Mon Sep 17 00:00:00 2001 From: as-op Date: Wed, 4 Dec 2024 16:36:10 +0100 Subject: [PATCH 037/121] revert changes to cost_query sql --- modules/reporting/app/models/cost_query/sql_statement.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/reporting/app/models/cost_query/sql_statement.rb b/modules/reporting/app/models/cost_query/sql_statement.rb index d2cf27cb09d4..973eaf8d14c7 100644 --- a/modules/reporting/app/models/cost_query/sql_statement.rb +++ b/modules/reporting/app/models/cost_query/sql_statement.rb @@ -102,7 +102,7 @@ def self.unified_entry(model) # # @param [CostQuery::SqlStatement] query The statement to adjust def self.unify_time_entries(query) - query.select :activity_id, :logged_by_id, :start_time, cost_type_id: -1 + query.select :activity_id, :logged_by_id, units: :hours, cost_type_id: -1 query.select cost_type: quoted_label(:caption_labor) end From 0f8d7cb318c00c52a9398437e9fd989304f9c7fb Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 4 Dec 2024 19:15:03 +0300 Subject: [PATCH 038/121] Fix BCF issue associated filter naming --- .../work_packages/filter/bcf_issue_associated_filter.rb | 4 ++++ modules/bim/config/locales/en.yml | 1 + 2 files changed, 5 insertions(+) diff --git a/modules/bim/app/models/bim/queries/work_packages/filter/bcf_issue_associated_filter.rb b/modules/bim/app/models/bim/queries/work_packages/filter/bcf_issue_associated_filter.rb index a92b82e8ef2b..1ce6ffce8a2f 100644 --- a/modules/bim/app/models/bim/queries/work_packages/filter/bcf_issue_associated_filter.rb +++ b/modules/bim/app/models/bim/queries/work_packages/filter/bcf_issue_associated_filter.rb @@ -41,6 +41,10 @@ def allowed_values ] end + def human_name + I18n.t("bcf.label_bcf_issue_associated") + end + def where if associated? ::Queries::Operators::All.sql_for_field(values, ::Bim::Bcf::Issue.table_name, "id") diff --git a/modules/bim/config/locales/en.yml b/modules/bim/config/locales/en.yml index a500501d80ce..d8636669aa9a 100644 --- a/modules/bim/config/locales/en.yml +++ b/modules/bim/config/locales/en.yml @@ -11,6 +11,7 @@ en: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' From 835ed1933405ac081958f65d53ba104de0c04fb7 Mon Sep 17 00:00:00 2001 From: as-op Date: Thu, 5 Dec 2024 09:17:51 +0100 Subject: [PATCH 039/121] footer values as specified in wireframe --- .../cost_query/pdf/timesheet_generator.rb | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index bec3d2d9748c..c356957dff0b 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -25,6 +25,8 @@ class CostQuery::PDF::TimesheetGenerator def initialize(query, project) @query = query @project = project + @total_page_nr = nil + @page_count = 0 setup_page! end @@ -69,13 +71,17 @@ def options def setup_page! self.pdf = get_pdf - @page_count = 0 configure_page_size!(:portrait) pdf.title = heading end def generate! render_doc + if wants_total_page_nrs? + @total_page_nr = pdf.page_count + setup_page! # clear current pdf + render_doc + end pdf.render rescue StandardError => e Rails.logger.error { "Failed to generate PDF: #{e} #{e.message}}." } @@ -327,6 +333,14 @@ def write_username(user) pdf.move_down(H2_MARGIN_BOTTOM) end + def footer_date + if pdf.page_number == 1 + format_time(Time.zone.now) + else + format_date(Time.zone.now) + end + end + def format_hours(hours) return "" if hours < 0 @@ -363,4 +377,8 @@ def with_times_column? def with_cover? true end + + def wants_total_page_nrs? + true + end end From f9fd9094146f26b3e2e3f3d44ff99a397b272dc6 Mon Sep 17 00:00:00 2001 From: Alexander Date: Fri, 6 Dec 2024 08:44:41 +0300 Subject: [PATCH 040/121] Fix spec --- .../work_packages/filter/bcf_issue_associated_filter_spec.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/bim/spec/models/queries/work_packages/filter/bcf_issue_associated_filter_spec.rb b/modules/bim/spec/models/queries/work_packages/filter/bcf_issue_associated_filter_spec.rb index d935b80db580..58a2be69a24e 100644 --- a/modules/bim/spec/models/queries/work_packages/filter/bcf_issue_associated_filter_spec.rb +++ b/modules/bim/spec/models/queries/work_packages/filter/bcf_issue_associated_filter_spec.rb @@ -35,6 +35,7 @@ let(:model) { WorkPackage } let(:class_key) { :bcf_issue_associated } let(:type) { :list } + let(:human_name) { "BCF issue associated" } describe "#available?" do context "if bim is enabled", with_config: { edition: "bim" } do From 605a70922ed101550d0ee60332ff2de142f2a5ad Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 9 Dec 2024 12:13:15 +0100 Subject: [PATCH 041/121] include cover page in page number footer --- .../app/workers/cost_query/pdf/timesheet_generator.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index c356957dff0b..b3a6c67f52c7 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -26,7 +26,7 @@ def initialize(query, project) @query = query @project = project @total_page_nr = nil - @page_count = 0 + @page_count = 1 setup_page! end @@ -78,7 +78,8 @@ def setup_page! def generate! render_doc if wants_total_page_nrs? - @total_page_nr = pdf.page_count + @total_page_nr = pdf.page_count + @page_count + @page_count = 1 setup_page! # clear current pdf render_doc end From cd99fb8ae4f6d63f4b20d16e1f51fe24669e9a44 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 9 Dec 2024 12:15:38 +0100 Subject: [PATCH 042/121] include cover page in page number footer --- .../spec/workers/cost_query/pdf/timesheet_generator_spec.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb b/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb index 7067e42b2275..064576698e21 100644 --- a/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb +++ b/modules/reporting/spec/workers/cost_query/pdf/timesheet_generator_spec.rb @@ -40,6 +40,7 @@ let(:generator) { described_class.new(query, project) } let(:export_time) { DateTime.new(2024, 12, 4, 23, 59) } let(:export_time_formatted) { format_time(export_time, include_date: true) } + let(:export_date_formatted) { format_date(export_time) } let(:user_time_entry) do create(:time_entry, project:, @@ -114,7 +115,7 @@ def expected_table_header(with_times_column) end def expected_page_footer(page_number) - [page_number, export_time_formatted, query.name] + [page_number, export_date_formatted, query.name] end def expected_entry_row(t_entry, with_times_column) @@ -149,7 +150,7 @@ def expected_document(with_times_column) *expected_entry_row(time_entry_with_comment, with_times_column), *expected_entry_row(time_entry_without_time, with_times_column), - *expected_page_footer("1") + *expected_page_footer("2/2") ].join(" ") end From 5124543a71e686732c76e868040a1468c31428b8 Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Mon, 2 Dec 2024 17:31:37 +0300 Subject: [PATCH 043/121] Reinstate "Add reminder note as an embedded notification detail" This reverts commit 220ca16ef02239a0b3294e8d51640619825f7718. Separates commit for easier code review --- config/locales/en.yml | 1 + .../notifications/notification_representer.rb | 2 +- .../property_factory/reminder.rb | 45 +++++++++++++++ .../v3/values/property_generic_representer.rb | 33 +++++++++++ .../v3/values/schemas/value_schema_factory.rb | 13 +++-- ...notification_representer_rendering_spec.rb | 55 +++++++++++++++++++ 6 files changed, 143 insertions(+), 6 deletions(-) create mode 100644 lib/api/v3/notifications/property_factory/reminder.rb create mode 100644 lib/api/v3/values/property_generic_representer.rb diff --git a/config/locales/en.yml b/config/locales/en.yml index 1d9df1f220f4..e381ad283b04 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1522,6 +1522,7 @@ en: login: "Username" mail: "Email" name: "Name" + note: "Note" password: "Password" priority: "Priority" project: "Project" diff --git a/lib/api/v3/notifications/notification_representer.rb b/lib/api/v3/notifications/notification_representer.rb index 5b67c4dd9a3d..6984fe235187 100644 --- a/lib/api/v3/notifications/notification_representer.rb +++ b/lib/api/v3/notifications/notification_representer.rb @@ -104,7 +104,7 @@ def _type "Notification" end - self.to_eager_load = %i[actor journal] + self.to_eager_load = %i[actor journal reminder] end end end diff --git a/lib/api/v3/notifications/property_factory/reminder.rb b/lib/api/v3/notifications/property_factory/reminder.rb new file mode 100644 index 000000000000..e8bd4e210c2f --- /dev/null +++ b/lib/api/v3/notifications/property_factory/reminder.rb @@ -0,0 +1,45 @@ +# --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. +# ++ + +module API::V3::Notifications::PropertyFactory + module Reminder + extend ::API::V3::Utilities::PathHelper + + module_function + + def for(notification) + return [] unless notification.reminder + + [ + ::API::V3::Values::PropertyGenericRepresenter + .new(::API::V3::Values::PropertyModel.new(:note, notification.reminder.note), + self_link: api_v3_paths.notification_detail(notification.id, 0)) + ] + end + end +end diff --git a/lib/api/v3/values/property_generic_representer.rb b/lib/api/v3/values/property_generic_representer.rb new file mode 100644 index 000000000000..ed814ef2fa38 --- /dev/null +++ b/lib/api/v3/values/property_generic_representer.rb @@ -0,0 +1,33 @@ +# --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. +# ++ + +module API::V3::Values + class PropertyGenericRepresenter < PropertyRepresenter + property :value + end +end diff --git a/lib/api/v3/values/schemas/value_schema_factory.rb b/lib/api/v3/values/schemas/value_schema_factory.rb index de98a68e279e..441bb6734729 100644 --- a/lib/api/v3/values/schemas/value_schema_factory.rb +++ b/lib/api/v3/values/schemas/value_schema_factory.rb @@ -29,7 +29,7 @@ module API::V3::Values::Schemas module ValueSchemaFactory extend ::API::V3::Utilities::PathHelper - SUPPORTED = %w(start_date due_date date).freeze + SUPPORTED = %w(start_date due_date date note).freeze module_function @@ -64,10 +64,13 @@ def i18n_for(property) I18n.t("attributes.#{property}") end - def type_for(_property) - # This is but a stub. Currently, only 'start_date' and 'due_date' - # need to be supported so this simple approach works. - "Date" + def type_for(property) + case property + when "start_date", "due_date", "date" + "Date" + when "note" + "String" + end end end end diff --git a/spec/lib/api/v3/notifications/notification_representer_rendering_spec.rb b/spec/lib/api/v3/notifications/notification_representer_rendering_spec.rb index c0fb12c42cbd..bb3aef99788e 100644 --- a/spec/lib/api/v3/notifications/notification_representer_rendering_spec.rb +++ b/spec/lib/api/v3/notifications/notification_representer_rendering_spec.rb @@ -267,5 +267,60 @@ .at_path("_embedded/details") end end + + shared_examples_for "embeds a Values::Property for reminder note" do + it "embeds a Values::Property" do + expect(generated) + .to be_json_eql("Values::Property".to_json) + .at_path("_embedded/details/0/_type") + end + + it "has a note value for the `property` property" do + expect(generated) + .to be_json_eql("note".to_json) + .at_path("_embedded/details/0/property") + end + + it "has a reminder`s note for the value" do + expect(generated) + .to be_json_eql(notification.reminder.note.to_json) + .at_path("_embedded/details/0/value") + end + end + + context "for a reminder when embedding" do + let(:reminder) { build_stubbed(:reminder) } + let(:reason) { :reminder } + let(:embed_links) { true } + + before do + allow(notification).to receive(:reminder).and_return(reminder) + end + + it_behaves_like "embeds a Values::Property for reminder note" + end + + context "for a reminder when not embedding" do + let(:reminder) { build_stubbed(:reminder) } + let(:reason) { :reminder } + let(:embed_links) { false } + + before do + allow(notification).to receive(:reminder).and_return(reminder) + end + + it_behaves_like "embeds a Values::Property for reminder note" + end + + context "for a reminder with no notification" do + let(:reminder) { nil } + let(:reason) { :reminder } + + it "has an empty details array" do + expect(generated) + .to have_json_size(0) + .at_path("_embedded/details") + end + end end end From 1e6d46358c66eb0a45b3ad44ed4304db306740f9 Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Tue, 3 Dec 2024 11:40:11 +0300 Subject: [PATCH 044/121] Extract relative time component for reuse --- ...pp-notification-actors-line.component.html | 8 +-- ...pp-notification-actors-line.component.sass | 5 -- ...-app-notification-actors-line.component.ts | 37 +---------- ...-notification-relative-time.component.html | 5 ++ ...-notification-relative-time.component.sass | 6 ++ ...pp-notification-relative-time.component.ts | 63 +++++++++++++++++++ .../in-app-notifications.module.ts | 32 +++++----- 7 files changed, 96 insertions(+), 60 deletions(-) create mode 100644 frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.html create mode 100644 frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.sass create mode 100644 frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.ts diff --git a/frontend/src/app/features/in-app-notifications/entry/actors-line/in-app-notification-actors-line.component.html b/frontend/src/app/features/in-app-notifications/entry/actors-line/in-app-notification-actors-line.component.html index 16ebc61cac34..1d6adf2d0b30 100644 --- a/frontend/src/app/features/in-app-notifications/entry/actors-line/in-app-notification-actors-line.component.html +++ b/frontend/src/app/features/in-app-notifications/entry/actors-line/in-app-notification-actors-line.component.html @@ -1,8 +1,6 @@ -
+
diff --git a/frontend/src/app/features/in-app-notifications/entry/actors-line/in-app-notification-actors-line.component.sass b/frontend/src/app/features/in-app-notifications/entry/actors-line/in-app-notification-actors-line.component.sass index 92a4de952732..376f23ed350a 100644 --- a/frontend/src/app/features/in-app-notifications/entry/actors-line/in-app-notification-actors-line.component.sass +++ b/frontend/src/app/features/in-app-notifications/entry/actors-line/in-app-notification-actors-line.component.sass @@ -7,11 +7,6 @@ align-items: center color: var(--fgColor-muted) - &--date - @include text-shortener - max-width: 100% - line-height: 1rem - &--container @include text-shortener display: flex diff --git a/frontend/src/app/features/in-app-notifications/entry/actors-line/in-app-notification-actors-line.component.ts b/frontend/src/app/features/in-app-notifications/entry/actors-line/in-app-notification-actors-line.component.ts index e6bcd7b9f6d7..3f8c271ce907 100644 --- a/frontend/src/app/features/in-app-notifications/entry/actors-line/in-app-notification-actors-line.component.ts +++ b/frontend/src/app/features/in-app-notifications/entry/actors-line/in-app-notification-actors-line.component.ts @@ -1,11 +1,8 @@ import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit, ViewEncapsulation } from '@angular/core'; +import { DeviceService } from 'core-app/core/browser/device.service'; +import { I18nService } from 'core-app/core/i18n/i18n.service'; import { INotification } from 'core-app/core/state/in-app-notifications/in-app-notification.model'; import { PrincipalLike } from 'core-app/shared/components/principal/principal-types'; -import { Observable, timer } from 'rxjs'; -import { distinctUntilChanged, map } from 'rxjs/operators'; -import { I18nService } from 'core-app/core/i18n/i18n.service'; -import { TimezoneService } from 'core-app/core/datetime/timezone.service'; -import { DeviceService } from 'core-app/core/browser/device.service'; @Component({ selector: 'op-in-app-notification-actors-line', @@ -24,13 +21,6 @@ export class InAppNotificationActorsLineComponent implements OnInit { // The actor, if any actors:PrincipalLike[] = []; - // Fixed notification time - fixedTime:string; - - // Format relative elapsed time (n seconds/minutes/hours ago) - // at an interval for auto updating - relativeTime$:Observable; - text = { and: this.I18n.t('js.notifications.center.label_actor_and'), and_other_singular: this.I18n.t('js.notifications.center.and_more_users.one'), @@ -41,21 +31,14 @@ export class InAppNotificationActorsLineComponent implements OnInit { loading: this.I18n.t('js.ajax.loading'), placeholder: this.I18n.t('js.placeholders.default'), mark_as_read: this.I18n.t('js.notifications.center.mark_as_read'), - updated_by_at: (age:string):string => this.I18n.t( - 'js.notifications.center.text_update_date_by', - { date: age }, - ), }; constructor( readonly deviceService:DeviceService, private I18n:I18nService, - private timezoneService:TimezoneService, ) { } ngOnInit():void { - this.buildTime(); - // Don't show the actor if the first item is actor-less (date alert) if (this.notification._links.actor) { this.buildActors(); @@ -70,22 +53,6 @@ export class InAppNotificationActorsLineComponent implements OnInit { return this.text.and_other_plural(number); } - private buildTime() { - this.fixedTime = this.timezoneService.formattedDatetime(this.notification.createdAt); - this.relativeTime$ = timer(0, 10000) - .pipe( - map(() => { - const time = this.timezoneService.formattedRelativeDateTime(this.notification.createdAt); - if (this.notification._links.actor) { - return this.text.updated_by_at(time); - } - - return time; - }), - distinctUntilChanged(), - ); - } - private buildActors() { const actors = this .aggregatedNotifications diff --git a/frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.html b/frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.html new file mode 100644 index 000000000000..982ee91f405a --- /dev/null +++ b/frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.html @@ -0,0 +1,5 @@ +
+
diff --git a/frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.sass b/frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.sass new file mode 100644 index 000000000000..547e9c4b48d7 --- /dev/null +++ b/frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.sass @@ -0,0 +1,6 @@ +@import "helpers" + +.op-ian-relative-time + @include text-shortener + max-width: 100% + line-height: 1rem diff --git a/frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.ts b/frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.ts new file mode 100644 index 000000000000..3f3b1801cff4 --- /dev/null +++ b/frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.ts @@ -0,0 +1,63 @@ +import { + ChangeDetectionStrategy, + Component, + Input, + OnInit, + ViewEncapsulation, +} from '@angular/core'; +import { TimezoneService } from 'core-app/core/datetime/timezone.service'; +import { I18nService } from 'core-app/core/i18n/i18n.service'; +import { INotification } from 'core-app/core/state/in-app-notifications/in-app-notification.model'; +import { Observable, timer } from 'rxjs'; +import { distinctUntilChanged, map } from 'rxjs/operators'; + +@Component({ + selector: 'op-in-app-notification-relative-time', + templateUrl: './in-app-notification-relative-time.component.html', + styleUrls: ['./in-app-notification-relative-time.component.sass'], + changeDetection: ChangeDetectionStrategy.OnPush, + encapsulation: ViewEncapsulation.None, +}) +export class InAppNotificationRelativeTimeComponent implements OnInit { + @Input() notification:INotification; + @Input() hasActorByLine:boolean = true; + + // Fixed notification time + fixedTime:string; + + // Format relative elapsed time (n seconds/minutes/hours ago) + // at an interval for auto updating + relativeTime$:Observable; + + text = { + updated_by_at: (age:string):string => this.I18n.t( + 'js.notifications.center.text_update_date_by', + { date: age }, + ), + }; + + constructor( + private I18n:I18nService, + private timezoneService:TimezoneService, + ) { } + + ngOnInit():void { + this.buildTime(); + } + + private buildTime() { + this.fixedTime = this.timezoneService.formattedDatetime(this.notification.createdAt); + this.relativeTime$ = timer(0, 10000) + .pipe( + map(() => { + const time = this.timezoneService.formattedRelativeDateTime(this.notification.createdAt); + if (this.hasActorByLine && this.notification._links.actor) { + return this.text.updated_by_at(time); + } + + return time; + }), + distinctUntilChanged(), + ); + } +} diff --git a/frontend/src/app/features/in-app-notifications/in-app-notifications.module.ts b/frontend/src/app/features/in-app-notifications/in-app-notifications.module.ts index aade9f5cc27e..2839fd792a19 100644 --- a/frontend/src/app/features/in-app-notifications/in-app-notifications.module.ts +++ b/frontend/src/app/features/in-app-notifications/in-app-notifications.module.ts @@ -1,31 +1,32 @@ -import { NgModule } from '@angular/core'; -import { OpSharedModule } from 'core-app/shared/shared.module'; +import { ScrollingModule } from '@angular/cdk/scrolling'; import { CommonModule } from '@angular/common'; -import { IconModule } from 'core-app/shared/components/icon/icon.module'; +import { NgModule } from '@angular/core'; import { InAppNotificationBellComponent, } from 'core-app/features/in-app-notifications/bell/in-app-notification-bell.component'; -import { - InAppNotificationEntryComponent, -} from 'core-app/features/in-app-notifications/entry/in-app-notification-entry.component'; -import { OpenprojectPrincipalRenderingModule } from 'core-app/shared/components/principal/principal-rendering.module'; -import { ScrollingModule } from '@angular/cdk/scrolling'; +import { IanBellService } from 'core-app/features/in-app-notifications/bell/state/ian-bell.service'; import { InAppNotificationCenterComponent, } from 'core-app/features/in-app-notifications/center/in-app-notification-center.component'; +import { IanCenterService } from 'core-app/features/in-app-notifications/center/state/ian-center.service'; +import { + InAppNotificationsDateAlertsUpsaleComponent, +} from 'core-app/features/in-app-notifications/date-alerts-upsale/ian-date-alerts-upsale.component'; +import { + InAppNotificationEntryComponent, +} from 'core-app/features/in-app-notifications/entry/in-app-notification-entry.component'; import { OpenprojectWorkPackagesModule } from 'core-app/features/work-packages/openproject-work-packages.module'; -import { DynamicModule } from 'ng-dynamic-component'; -import { InAppNotificationStatusComponent } from './entry/status/in-app-notification-status.component'; +import { IconModule } from 'core-app/shared/components/icon/icon.module'; import { OpenprojectContentLoaderModule, } from 'core-app/shared/components/op-content-loader/openproject-content-loader.module'; -import { IanBellService } from 'core-app/features/in-app-notifications/bell/state/ian-bell.service'; +import { OpenprojectPrincipalRenderingModule } from 'core-app/shared/components/principal/principal-rendering.module'; +import { OpSharedModule } from 'core-app/shared/shared.module'; +import { DynamicModule } from 'ng-dynamic-component'; import { InAppNotificationActorsLineComponent } from './entry/actors-line/in-app-notification-actors-line.component'; import { InAppNotificationDateAlertComponent } from './entry/date-alert/in-app-notification-date-alert.component'; -import { - InAppNotificationsDateAlertsUpsaleComponent, -} from 'core-app/features/in-app-notifications/date-alerts-upsale/ian-date-alerts-upsale.component'; -import { IanCenterService } from 'core-app/features/in-app-notifications/center/state/ian-center.service'; +import { InAppNotificationRelativeTimeComponent } from './entry/relative-time/in-app-notification-relative-time.component'; +import { InAppNotificationStatusComponent } from './entry/status/in-app-notification-status.component'; @NgModule({ declarations: [ @@ -36,6 +37,7 @@ import { IanCenterService } from 'core-app/features/in-app-notifications/center/ InAppNotificationActorsLineComponent, InAppNotificationDateAlertComponent, InAppNotificationsDateAlertsUpsaleComponent, + InAppNotificationRelativeTimeComponent, ], imports: [ OpSharedModule, From c50b436c3bd845e23d2fa59e0de41feb7363bc42 Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Thu, 5 Dec 2024 12:00:20 +0300 Subject: [PATCH 045/121] Render reminder inline notification entry Reminders have first priority against all other kinds of notifications in the index view --- config/locales/js-en.yml | 2 + .../in-app-notification.model.ts | 2 +- ...n-app-notification-date-alert.component.ts | 7 ++- .../in-app-notification-entry.component.html | 24 +++++--- .../in-app-notification-entry.component.ts | 2 + ...notification-reminder-alert.component.html | 7 +++ ...notification-reminder-alert.component.sass | 17 ++++++ ...p-notification-reminder-alert.component.ts | 59 +++++++++++++++++++ .../in-app-notifications.module.ts | 2 + 9 files changed, 109 insertions(+), 13 deletions(-) create mode 100644 frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.html create mode 100644 frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.sass create mode 100644 frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.ts diff --git a/config/locales/js-en.yml b/config/locales/js-en.yml index b7a4e8038a48..ff3db1234cd1 100644 --- a/config/locales/js-en.yml +++ b/config/locales/js-en.yml @@ -709,6 +709,8 @@ en: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" diff --git a/frontend/src/app/core/state/in-app-notifications/in-app-notification.model.ts b/frontend/src/app/core/state/in-app-notifications/in-app-notification.model.ts index eeae2b406f04..1a12217b389f 100644 --- a/frontend/src/app/core/state/in-app-notifications/in-app-notification.model.ts +++ b/frontend/src/app/core/state/in-app-notifications/in-app-notification.model.ts @@ -13,7 +13,7 @@ export interface IInAppNotificationHalResourceLinks extends IHalResourceLinks { activity:IHalResourceLink; } -export type IInAppNotificationDetailsAttribute = 'startDate'|'dueDate'|'date'; +export type IInAppNotificationDetailsAttribute = 'startDate'|'dueDate'|'date'|'note'; export interface IInAppNotificationDetailsResource { property:IInAppNotificationDetailsAttribute; diff --git a/frontend/src/app/features/in-app-notifications/entry/date-alert/in-app-notification-date-alert.component.ts b/frontend/src/app/features/in-app-notifications/entry/date-alert/in-app-notification-date-alert.component.ts index 877f2b592be6..fd4ddb132b61 100644 --- a/frontend/src/app/features/in-app-notifications/entry/date-alert/in-app-notification-date-alert.component.ts +++ b/frontend/src/app/features/in-app-notifications/entry/date-alert/in-app-notification-date-alert.component.ts @@ -6,9 +6,9 @@ import { OnInit, ViewEncapsulation, } from '@angular/core'; -import { INotification } from 'core-app/core/state/in-app-notifications/in-app-notification.model'; -import { I18nService } from 'core-app/core/i18n/i18n.service'; import { TimezoneService } from 'core-app/core/datetime/timezone.service'; +import { I18nService } from 'core-app/core/i18n/i18n.service'; +import { IInAppNotificationDetailsAttribute, INotification } from 'core-app/core/state/in-app-notifications/in-app-notification.model'; import { WorkPackageResource } from 'core-app/features/hal/resources/work-package-resource'; import * as moment from 'moment'; import { Moment } from 'moment'; @@ -49,6 +49,7 @@ export class InAppNotificationDateAlertComponent implements OnInit { dueDate: this.I18n.t('js.work_packages.properties.dueDate'), date: this.I18n.t('js.notifications.date_alerts.milestone_date'), due_today: this.I18n.t('js.notifications.date_alerts.property_today'), + note: '', // date alerts do not have notes }; constructor( @@ -71,7 +72,7 @@ export class InAppNotificationDateAlertComponent implements OnInit { } } - private deriveDueDate(value:string, property:'startDate'|'dueDate'|'date') { + private deriveDueDate(value:string, property:IInAppNotificationDetailsAttribute) { const dateValue = this.timezoneService.parseISODate(value).startOf('day'); const today = moment(); this.dateIsPast = dateValue.isBefore(today, 'day'); diff --git a/frontend/src/app/features/in-app-notifications/entry/in-app-notification-entry.component.html b/frontend/src/app/features/in-app-notifications/entry/in-app-notification-entry.component.html index 14868f1cb424..e0443e0a7520 100644 --- a/frontend/src/app/features/in-app-notifications/entry/in-app-notification-entry.component.html +++ b/frontend/src/app/features/in-app-notifications/entry/in-app-notification-entry.component.html @@ -88,16 +88,22 @@
- - + /> + + + +
diff --git a/frontend/src/app/features/in-app-notifications/entry/in-app-notification-entry.component.ts b/frontend/src/app/features/in-app-notifications/entry/in-app-notification-entry.component.ts index 762fdc757304..c7725a20c706 100644 --- a/frontend/src/app/features/in-app-notifications/entry/in-app-notification-entry.component.ts +++ b/frontend/src/app/features/in-app-notifications/entry/in-app-notification-entry.component.ts @@ -29,6 +29,7 @@ export class InAppNotificationEntryComponent implements OnInit { workPackage$:Observable|null = null; showDateAlert = false; + hasReminderAlert = false; loading$ = this.storeService.query.selectLoading(); @@ -62,6 +63,7 @@ export class InAppNotificationEntryComponent implements OnInit { const href = this.notification._links.resource?.href; this.workPackageId = href && HalResource.matchFromLink(href, 'work_packages'); + this.hasReminderAlert = this.aggregatedNotifications.some((notification) => notification.reason === 'reminder'); this.showDateAlert = this.hasActiveDateAlert(); this.buildTranslatedReason(); this.buildProject(); diff --git a/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.html b/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.html new file mode 100644 index 000000000000..cf1106d35950 --- /dev/null +++ b/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.html @@ -0,0 +1,7 @@ + + diff --git a/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.sass b/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.sass new file mode 100644 index 000000000000..62a064806cfc --- /dev/null +++ b/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.sass @@ -0,0 +1,17 @@ +@import "helpers" + +.op-ian-reminder-alert + display: grid + grid-template-columns: auto 1fr + grid-column-gap: $spot-spacing-0_25 + align-items: center + color: var(--fgColor-muted) + + &--note + @include text-shortener + display: flex + white-space: pre-wrap + line-height: 1rem + + > * + flex-shrink: 0 diff --git a/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.ts b/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.ts new file mode 100644 index 000000000000..84392aeabde3 --- /dev/null +++ b/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.ts @@ -0,0 +1,59 @@ +import { + ChangeDetectionStrategy, + Component, + HostBinding, + Input, + OnInit, + ViewEncapsulation, +} from '@angular/core'; +import { I18nService } from 'core-app/core/i18n/i18n.service'; +import { IInAppNotificationDetailsResource, INotification } from 'core-app/core/state/in-app-notifications/in-app-notification.model'; + +@Component({ + selector: 'op-in-app-notification-reminder-alert', + templateUrl: './in-app-notification-reminder-alert.component.html', + styleUrls: ['./in-app-notification-reminder-alert.component.sass'], + changeDetection: ChangeDetectionStrategy.OnPush, + encapsulation: ViewEncapsulation.None, +}) +export class InAppNotificationReminderAlertComponent implements OnInit { + @Input() aggregatedNotifications:INotification[]; + + @HostBinding('class.op-ian-reminder-alert') className = true; + + reminderNote:string; + reminderAlert:INotification; + + constructor( + private I18n:I18nService, + ) { } + + ngOnInit():void { + this.reminderAlert = this.deriveMostRecentReminder(this.aggregatedNotifications); + this.reminderNote = this.extractReminderNoteValue(this.reminderAlert._embedded.details); + } + + private deriveMostRecentReminder(aggregatedNotifications:INotification[]):INotification { + const reminderAlerts = aggregatedNotifications.filter((notification:INotification) => notification.reason === 'reminder'); + + if (reminderAlerts.length > 1) { + const mostRecent = reminderAlerts.reduce((prev:INotification, current:INotification) => { + const prevDate = new Date(prev.createdAt); + const currentDate = new Date(current.createdAt); + return prevDate > currentDate ? prev : current; + }); + return mostRecent; + } + + return reminderAlerts[0]; + } + + private extractReminderNoteValue(details:IInAppNotificationDetailsResource[]):string { + const noteDetail = details.find((detail:IInAppNotificationDetailsResource) => detail.property === 'note'); + if (noteDetail?.value) { + return this.I18n.t('js.notifications.reminders.note', { note: (noteDetail?.value) }); + } + + return ''; + } +} diff --git a/frontend/src/app/features/in-app-notifications/in-app-notifications.module.ts b/frontend/src/app/features/in-app-notifications/in-app-notifications.module.ts index 2839fd792a19..d921e8f48c78 100644 --- a/frontend/src/app/features/in-app-notifications/in-app-notifications.module.ts +++ b/frontend/src/app/features/in-app-notifications/in-app-notifications.module.ts @@ -26,6 +26,7 @@ import { DynamicModule } from 'ng-dynamic-component'; import { InAppNotificationActorsLineComponent } from './entry/actors-line/in-app-notification-actors-line.component'; import { InAppNotificationDateAlertComponent } from './entry/date-alert/in-app-notification-date-alert.component'; import { InAppNotificationRelativeTimeComponent } from './entry/relative-time/in-app-notification-relative-time.component'; +import { InAppNotificationReminderAlertComponent } from './entry/reminder-alert/in-app-notification-reminder-alert.component'; import { InAppNotificationStatusComponent } from './entry/status/in-app-notification-status.component'; @NgModule({ @@ -38,6 +39,7 @@ import { InAppNotificationStatusComponent } from './entry/status/in-app-notifica InAppNotificationDateAlertComponent, InAppNotificationsDateAlertsUpsaleComponent, InAppNotificationRelativeTimeComponent, + InAppNotificationReminderAlertComponent, ], imports: [ OpSharedModule, From 7b90cf3acb5b938ac7dda508f282f2f219bf4d21 Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Thu, 5 Dec 2024 13:09:16 +0300 Subject: [PATCH 046/121] Add reminders filter to notifications sidemenu --- app/menus/notifications/menu.rb | 5 +++-- config/locales/en.yml | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/menus/notifications/menu.rb b/app/menus/notifications/menu.rb index cc6961c823ef..fbbf107e420a 100644 --- a/app/menus/notifications/menu.rb +++ b/app/menus/notifications/menu.rb @@ -63,7 +63,7 @@ def inbox_menu end def reason_filters - %w[mentioned assigned responsible watched dateAlert shared].map do |reason| + %w[mentioned assigned responsible watched dateAlert shared reminder].map do |reason| count = unread_by_reason[reason] menu_item(title: I18n.t("notifications.reasons.#{reason}"), icon_key: reason, @@ -128,7 +128,8 @@ def icon_map "responsible" => :"op-person-accountable", "watched" => :eye, "shared" => :"share-android", - "dateAlert" => :"op-calendar-alert" + "dateAlert" => :"op-calendar-alert", + "reminder" => :bell } end diff --git a/config/locales/en.yml b/config/locales/en.yml index e381ad283b04..752c48a5f69f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2204,6 +2204,7 @@ en: responsible: "Accountable" shared: "Shared" watched: "Watcher" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" From eb74b9c193b4c2afcbdb614c41703d1a03e611ca Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Thu, 5 Dec 2024 16:51:20 +0300 Subject: [PATCH 047/121] Remove actor byline in reminder context --- .../in-app-notification-reminder-alert.component.html | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.html b/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.html index cf1106d35950..1956ae5dfa8f 100644 --- a/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.html +++ b/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.html @@ -1,5 +1,6 @@ Date: Thu, 5 Dec 2024 16:52:03 +0300 Subject: [PATCH 048/121] Add basic notification reminder feature spec --- .../notification_center_reminder_spec.rb | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 spec/features/notifications/notification_center/notification_center_reminder_spec.rb diff --git a/spec/features/notifications/notification_center/notification_center_reminder_spec.rb b/spec/features/notifications/notification_center/notification_center_reminder_spec.rb new file mode 100644 index 000000000000..d1f3cf3c04bd --- /dev/null +++ b/spec/features/notifications/notification_center/notification_center_reminder_spec.rb @@ -0,0 +1,58 @@ +require "spec_helper" +require "features/page_objects/notification" + +RSpec.describe "Notification center reminder, mention and date alert", + :js, + :with_cuprite, + with_settings: { journal_aggregation_time_minutes: 0 } do + shared_let(:project) { create(:project) } + shared_let(:actor) { create(:user, firstname: "Actor", lastname: "User") } + shared_let(:user) do + create(:user, + member_with_permissions: { project => %w[view_work_packages] }) + end + shared_let(:work_package) { create(:work_package, project:, due_date: 1.day.ago) } + + shared_let(:notification_mention) do + create(:notification, + reason: :mentioned, + recipient: user, + resource: work_package, + actor:) + end + + shared_let(:notification_date_alert) do + create(:notification, + reason: :date_alert_due_date, + recipient: user, + resource: work_package) + end + + shared_let(:notification_reminder) do + reminder = create(:reminder, remindable: work_package, creator: user, note: "This is an important reminder") + notification = create(:notification, + reason: :reminder, + recipient: user, + resource: work_package) + create(:reminder_notification, reminder:, notification:) + notification + end + + let(:center) { Pages::Notifications::Center.new } + + before do + login_as user + visit notifications_center_path + wait_for_reload + end + + context "with reminders", with_ee: %i[date_alerts] do + it "shows only the reminder alert time and note" do + center.within_item(notification_reminder) do + expect(page).to have_text("Date alert, Mentioned, Reminder") + expect(page).to have_no_text("Actor user") + expect(page).to have_text("a few seconds ago\nNote: “This is an important reminder”") + end + end + end +end From 2ad579f2648b1169d297dbc6c33137bf80530a37 Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Mon, 9 Dec 2024 16:01:06 +0300 Subject: [PATCH 049/121] Add full stop on relative time as per design The full stop acts a separator between the relative time and note --- .../in-app-notification-relative-time.component.ts | 2 +- .../notification_center/notification_center_reminder_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.ts b/frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.ts index 3f3b1801cff4..153e658175a7 100644 --- a/frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.ts +++ b/frontend/src/app/features/in-app-notifications/entry/relative-time/in-app-notification-relative-time.component.ts @@ -55,7 +55,7 @@ export class InAppNotificationRelativeTimeComponent implements OnInit { return this.text.updated_by_at(time); } - return time; + return `${time}.`; }), distinctUntilChanged(), ); diff --git a/spec/features/notifications/notification_center/notification_center_reminder_spec.rb b/spec/features/notifications/notification_center/notification_center_reminder_spec.rb index d1f3cf3c04bd..3b9f45e28aec 100644 --- a/spec/features/notifications/notification_center/notification_center_reminder_spec.rb +++ b/spec/features/notifications/notification_center/notification_center_reminder_spec.rb @@ -51,7 +51,7 @@ center.within_item(notification_reminder) do expect(page).to have_text("Date alert, Mentioned, Reminder") expect(page).to have_no_text("Actor user") - expect(page).to have_text("a few seconds ago\nNote: “This is an important reminder”") + expect(page).to have_text("a few seconds ago.\nNote: “This is an important reminder”") end end end From 177fa19d40f3edfa3403fb5fff98e2464021ab66 Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Mon, 9 Dec 2024 16:58:01 +0300 Subject: [PATCH 050/121] Switch to clock icon for reminders menu Match the icons for the "Set reminders" modal action and the reminders menu filter --- app/menus/notifications/menu.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/menus/notifications/menu.rb b/app/menus/notifications/menu.rb index fbbf107e420a..8b03c3864285 100644 --- a/app/menus/notifications/menu.rb +++ b/app/menus/notifications/menu.rb @@ -129,7 +129,7 @@ def icon_map "watched" => :eye, "shared" => :"share-android", "dateAlert" => :"op-calendar-alert", - "reminder" => :bell + "reminder" => :clock } end From c5cab9f3ad8629d1e71a595b068add3c0ac03f7f Mon Sep 17 00:00:00 2001 From: Eric Schubert Date: Tue, 10 Dec 2024 10:13:05 +0100 Subject: [PATCH 051/121] [#59978] align form buttons to right side - https://community.openproject.org/work_packages/59978 - add system argument to form group --- app/forms/custom_fields/hierarchy/item_form.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/forms/custom_fields/hierarchy/item_form.rb b/app/forms/custom_fields/hierarchy/item_form.rb index 50f9d41e8529..be2e5185feb8 100644 --- a/app/forms/custom_fields/hierarchy/item_form.rb +++ b/app/forms/custom_fields/hierarchy/item_form.rb @@ -56,7 +56,7 @@ class ItemForm < ApplicationForm ) end - item_form.group(layout: :horizontal) do |button_group| + item_form.group(layout: :horizontal, align_self: :end) do |button_group| button_group.button(name: :cancel, tag: :a, label: I18n.t(:button_cancel), From 19c83690bd4beed10f2c011b1c881bc71da67179 Mon Sep 17 00:00:00 2001 From: Bruno Pagno Date: Thu, 5 Dec 2024 15:45:26 +0100 Subject: [PATCH 052/121] write specification for new folder API endpoint --- .../storage-create-folder-request-body.yml | 5 ++ .../schemas/storage_folder_write_model.yml | 13 ++++ docs/api/apiv3/openapi-spec.yml | 6 ++ docs/api/apiv3/paths/storage_folders.yml | 68 +++++++++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 docs/api/apiv3/components/examples/storage-create-folder-request-body.yml create mode 100644 docs/api/apiv3/components/schemas/storage_folder_write_model.yml create mode 100644 docs/api/apiv3/paths/storage_folders.yml diff --git a/docs/api/apiv3/components/examples/storage-create-folder-request-body.yml b/docs/api/apiv3/components/examples/storage-create-folder-request-body.yml new file mode 100644 index 000000000000..dad2d8b2e047 --- /dev/null +++ b/docs/api/apiv3/components/examples/storage-create-folder-request-body.yml @@ -0,0 +1,5 @@ +description: |- + A valid request body to create a new folder on a external storage +value: + name: Uploads + parentId: "200" diff --git a/docs/api/apiv3/components/schemas/storage_folder_write_model.yml b/docs/api/apiv3/components/schemas/storage_folder_write_model.yml new file mode 100644 index 000000000000..bcdef5c9e552 --- /dev/null +++ b/docs/api/apiv3/components/schemas/storage_folder_write_model.yml @@ -0,0 +1,13 @@ +# Schema: StorageFolderWriteModel +--- +type: object +required: + - name + - parentId +properties: + name: + type: string + description: Name of the folder to be created + parentId: + type: string + description: Unique identifier of the parent folder in which the new folder should be created in diff --git a/docs/api/apiv3/openapi-spec.yml b/docs/api/apiv3/openapi-spec.yml index e3afad89a8f4..7cba8c52b76d 100644 --- a/docs/api/apiv3/openapi-spec.yml +++ b/docs/api/apiv3/openapi-spec.yml @@ -392,6 +392,8 @@ paths: "$ref": "./paths/storage_files.yml" "/api/v3/storages/{id}/files/prepare_upload": "$ref": "./paths/storage_files_prepare_upload.yml" + "/api/v3/storages/{id}/folders": + "$ref": "./paths/storage_folders.yml" "/api/v3/storages/{id}/oauth_client_credentials": "$ref": "./paths/storage_oauth_client_credentials.yml" "/api/v3/storages/{id}/open": @@ -545,6 +547,8 @@ components: $ref: "./components/examples/status_response.yml" StorageNextcloudResponse: $ref: "./components/examples/storage-nextcloud-response.yml" + StorageCreateFolderRequestBody: + $ref: "./components/examples/storage-create-folder-request-body.yml" StorageNextcloudResponseForCreation: $ref: "./components/examples/storage-nextcloud-response-for-creation.yml" StorageNextcloudUnauthorizedResponse: @@ -825,6 +829,8 @@ components: "$ref": "./components/schemas/storage_file_model.yml" StorageFilesModel: "$ref": "./components/schemas/storage_files_model.yml" + StorageFolderWriteModel: + "$ref": "./components/schemas/storage_folder_write_model.yml" StorageFileUploadPreparationModel: "$ref": "./components/schemas/storage_file_upload_preparation_model.yml" StorageFileUploadLinkModel: diff --git a/docs/api/apiv3/paths/storage_folders.yml b/docs/api/apiv3/paths/storage_folders.yml new file mode 100644 index 000000000000..1e22c776775f --- /dev/null +++ b/docs/api/apiv3/paths/storage_folders.yml @@ -0,0 +1,68 @@ +# /api/v3/storages/{id}/folders +--- +post: + summary: Creation of a new folder + operationId: create_storage_folder + tags: + - File links + description: Creates a new folder under the given parent + parameters: + - name: id + description: Storage id + in: path + required: true + schema: + type: integer + example: 1337 + requestBody: + content: + application/json: + schema: + $ref: '../components/schemas/storage_folder_write_model.yml' + examples: + 'Valid example': + $ref: '../components/examples/storage-create-folder-request-body.yml' + responses: + '201': + description: Created + content: + application/hal+json: + schema: + $ref: '../components/schemas/storage_file_model.yml' + '400': + content: + application/hal+json: + schema: + $ref: '../components/schemas/error_response.yml' + example: + _type: Error + errorIdentifier: urn:openproject-org:api:v3:errors:InvalidQuery + message: The given parent is not a directory. + description: |- + Returned if the request is missing a required parameter. + '403': + content: + application/hal+json: + schema: + $ref: '../components/schemas/error_response.yml' + example: + _type: Error + errorIdentifier: urn:openproject-org:api:v3:errors:MissingPermission + message: You are not authorized to access this resource. + description: |- + Returned if the client does not have sufficient permissions. + + **Required permission:** manage file links + '404': + content: + application/hal+json: + schema: + $ref: '../components/schemas/error_response.yml' + example: + _type: Error + errorIdentifier: urn:openproject-org:api:v3:errors:NotFound + message: The requested resource could not be found. + description: |- + Returned if the storage does not exist or the client does not have sufficient permissions to see it. + + **Required permission:** view file links From d09e1909e674410c0808dab025b84dcb943946ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Fri, 6 Dec 2024 08:55:27 +0100 Subject: [PATCH 053/121] Remove default sort order messing up apply_sort https://community.openproject.org/wp/59908 --- modules/meeting/app/models/queries/meetings/meeting_query.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/meeting/app/models/queries/meetings/meeting_query.rb b/modules/meeting/app/models/queries/meetings/meeting_query.rb index eb65640b5ea0..5715c6c87ede 100644 --- a/modules/meeting/app/models/queries/meetings/meeting_query.rb +++ b/modules/meeting/app/models/queries/meetings/meeting_query.rb @@ -41,7 +41,9 @@ def results end def default_scope - Meeting.visible(user) + Meeting + .visible(user) + .unscope(:order) end end end From 784f04d8763fcefe254965292371b549d93e355d Mon Sep 17 00:00:00 2001 From: Maya Berdygylyjova Date: Tue, 10 Dec 2024 10:40:48 +0100 Subject: [PATCH 054/121] =?UTF-8?q?[#59802]=2015.1=20Documentation:=20Re-d?= =?UTF-8?q?esign=20Relations=20tab=20according=20to=20Fig=E2=80=A6=20(#173?= =?UTF-8?q?99)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [#59802] 15.1 Documentation: Re-design Relations tab according to Figma mockups (Primerise) https://community.openproject.org/work_packages/59802 [#59802] 15.1 Documentation: Re-design Relations tab according to Figma mockups (Primerise) https://community.openproject.org/work_packages/59802 * Update README.md * exchange screenshot --- .../system-admin-guide/integrations/README.md | 2 +- .../README.md | 52 +++++++++++------- .../Relations_column.png | Bin 13483 -> 0 bytes .../User-guide-display-hierarchy.png | Bin 25631 -> 0 bytes .../User-guide-hierarchies.png | Bin 43598 -> 0 bytes .../autocompletion.png | Bin 201490 -> 0 bytes .../change-parent-work-package.png | Bin 51814 -> 0 bytes .../image-20200129144540902.png | Bin 6424 -> 0 bytes .../image-20200129145033802.png | Bin 14880 -> 0 bytes ...ect_user_guide_relations_change_parent.png | Bin 0 -> 70960 bytes .../openproject_user_guide_relations_tab.png | Bin 0 -> 46050 bytes .../openproject_user_guide_wp_add_child.png | Bin 0 -> 145191 bytes ...project_user_guide_wp_add_child_select.png | Bin 0 -> 71556 bytes ...ect_user_guide_wp_add_relations_button.png | Bin 0 -> 134206 bytes ...oject_user_guide_wp_add_relations_form.png | Bin 0 -> 39240 bytes ...enproject_user_guide_wp_hierarchy_icon.png | Bin 0 -> 18894 bytes ...ject_user_guide_wp_table_configuration.png | Bin 0 -> 48797 bytes ..._guide_wp_table_configuration_filtered.png | Bin 0 -> 56647 bytes ...roject_user_guide_wp_table_show_parent.png | Bin 0 -> 50140 bytes .../select-parent-as-column.png | Bin 50083 -> 0 bytes .../work-package-add-relation-as-column.png | Bin 91190 -> 0 bytes 21 files changed, 32 insertions(+), 22 deletions(-) delete mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/Relations_column.png delete mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/User-guide-display-hierarchy.png delete mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/User-guide-hierarchies.png delete mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/autocompletion.png delete mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/change-parent-work-package.png delete mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/image-20200129144540902.png delete mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/image-20200129145033802.png create mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_relations_change_parent.png create mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_relations_tab.png create mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_add_child.png create mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_add_child_select.png create mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_add_relations_button.png create mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_add_relations_form.png create mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_hierarchy_icon.png create mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_table_configuration.png create mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_table_configuration_filtered.png create mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_table_show_parent.png delete mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/select-parent-as-column.png delete mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/work-package-add-relation-as-column.png diff --git a/docs/system-admin-guide/integrations/README.md b/docs/system-admin-guide/integrations/README.md index b24dcd746fdb..0b6661cb845f 100644 --- a/docs/system-admin-guide/integrations/README.md +++ b/docs/system-admin-guide/integrations/README.md @@ -5,7 +5,7 @@ sidebar_navigation: description: Integration to OpenProject. keywords: projects, integration, Jira --- -# Integrations and community plugins +# Integrations and Community plugins There are various integrations and Community plugins out there. Please [contact us](https://www.openproject.org/contact/) if you want to have your plugin to be added to this list. diff --git a/docs/user-guide/work-packages/work-package-relations-hierarchies/README.md b/docs/user-guide/work-packages/work-package-relations-hierarchies/README.md index 6696a4e932c1..48078e350058 100644 --- a/docs/user-guide/work-packages/work-package-relations-hierarchies/README.md +++ b/docs/user-guide/work-packages/work-package-relations-hierarchies/README.md @@ -25,12 +25,15 @@ Relations indicate any functional or timely relation (e.g. follows or proceeds, Work package relations indicate that work packages address a similar topic or create status dependencies. To create a relationship between two work packages: -1. Select a work package, click on **Relations** to open the relations tab and click the **+ Create new relations** link. +1. Select a work package, click on **Relations** to open the relations tab and click the **+ Relation** button. 2. Select the type of relationship from the dropdown menu. -3. Enter the ID or name of the work package, to which the relation should be created and choose an entry from the dropdown menu. The autocompleter suggests the work package to be added. -4. Press the Enter key. +3. Enter the ID or name of the work package, to which the relation should be created. The autocomplete will suggest the work package to be added. +4. Enter a description of the relation. It will be visible for both of the related work packages. +5. Press the Enter key and click the **Save** button. -![autocompletion](autocompletion.png) +![autocompletion](openproject_user_guide_wp_add_relations_button.png) + +![Add a related work package in OpenProject](openproject_user_guide_wp_add_relations_form.png) You can select one of the following relations: @@ -38,26 +41,33 @@ You can select one of the following relations: - **Duplicates / Duplicated by** - This option indicates that the work package B duplicates a work package A in one way or another, for example both address the same task. This can be useful if you have the same work package that needs to be a part of a closed and public projects at the same time. The connection in this case is only semantic, the changes you make in work package A will need to be adapted in work package B manually. - **Note**: some changes in statuses will be adjusted automatically for the duplicated work package. Specifically, if the status of a work package A is set to be "closed" (or set to any status that is defined to count as "closed" in the [system settings](../../../system-admin-guide/manage-work-packages/work-package-status/), for example "rejected" often counts as a "closed" status), the status of the work package B will change to "closed". Note that this is direction dependent. Only if the work package A is closed will the work package B be closed as well, not the other way around. +> [!NOTE] +> some changes in statuses will be adjusted automatically for the duplicated work package. Specifically, if the status of a work package A is set to be "closed" (or set to any status that is defined to count as "closed" in the [system settings](../../../system-admin-guide/manage-work-packages/work-package-status/), for example "rejected" often counts as a "closed" status), the status of the work package B will change to "closed". Note that this is direction dependent. Only if the work package A is closed will the work package B be closed as well, not the other way around. - **Blocks / Blocked by** - This option defines status change restrictions between two work packages. If you set a work package A to be blocking work package B, the status of work package B cannot be set to closed or resolved until the work package A is closed. -- **Precedes / Follows** - Defines a chronological relation between two work packages. For example, if you set a work package A to precede a work package B, the start date of B has to be at least a day after the finish date of A. +- **Predecessor (before)/ Successor (after)** - Defines a chronological relation between two work packages. For example, if you set a work package A to precede a work package B, the start date of B has to be at least a day after the finish date of A. Please note: If work package B is in [manual scheduling mode](../../gantt-chart/scheduling/#manual-scheduling-mode), changing the finish date of work package A will have no effect on work package B. +> [!TIP] +> Prior to 15.1, *Predecessor (before)* was called *Precedes*, and *Successor (after)* was called *Follows*. + - **Includes / Part of** - Defines if work package A includes or is part of work package B. This relation type can be used for example when you have a roll-out work package and work packages which should be shown as included without using hierarchical relationships. There is no additional effect. - **Requires / Required by** - Defines if work package A requires or is required by work package B. There is no additional effect. -The selected relation status will be automatically displayed in the work package that you enter. For example if you select "Blocks" in the current work package A and specify work package B, work package B will automatically show that it is "Blocked by" A. +- **Child** - Makes the related a work package a sub-item of the current (parent) work package + +> [!TIP] +> The selected relation status will be automatically displayed in the work package that you enter. For example if you select "Blocks" in the current work package A and specify work package B, work package B will automatically show that it is "Blocked by" A. ### Moving related work packages -The precedes/follows relation is the only one that can constrain or affect the dates of work packages. +The predecessor/successor relation is the only one that can constrain or affect the dates of work packages. -Work packages in a precedes/follows relationship do not need to immediately follow one other; there can be a gap. In this case, you can move either forwards or backwards in time without affecting the other as long as the finish date of the predecessor is before the start date of follower. +Work packages in a predecessor/successor relationship do not need to immediately follow one other; there can be a gap. In this case, you can move either forwards or backwards in time without affecting the other as long as the finish date of the predecessor is before the start date of successor. -A follower cannot be moved to start before the finish date of its predecessor. However, a predecessor can indeed be moved to start or finish _after_ the start date of its follower. When this happens, the follower will be pushed into the future such that it starts the day after the new finish date of the predecessor. +A successor cannot be moved to start before the finish date of its predecessor. However, a predecessor can indeed be moved to start or finish _after_ the start date of its successor. When this happens, the successor will be pushed into the future such that it starts the day after the new finish date of the predecessor. ## Display relations in a work package table (Enterprise add-on) @@ -65,15 +75,15 @@ As a user of [Enterprise on-premises](https://www.openproject.org/enterprise-edi This is useful if you want to get an overview of certain types of relationships between work packages. You can for example see which work packages are blocking other work packages. -To add relation columns, navigate to the upper right corner of the work package table and click on the icon with the three dots. **... insert columns** an type the name of the relation into the search bar. Then select the relation and click on apply. +To add relation columns, navigate to the upper right corner of the work package table and click on the icon with the three dots. Select **Insert columns** and type the name of the relation into the search bar. Then select the relation and click on apply. -![work package add relation as column](work-package-add-relation-as-column.png) +![work package add relation as column](openproject_user_guide_wp_table_configuration.png) The relations column shows the number of relations each work package has for the relation type (e.g. "blocked by"). You can click on the number to display the work packages which have the relation type. -![Relations column](Relations_column.png) +![Relations column](openproject_user_guide_wp_table_configuration_filtered.png) ## Work package hierarchies @@ -89,13 +99,13 @@ There are **three ways to add or create a child work package**: ### Add a child in the *Relations* tab in a work package's details view -Open a work package and select the tab *Relations*. Click on *+ Create new child* to create a child work package. Alternatively, you can assign an existing child work package with *+ Add existing child*. +Open a work package and select the tab *Relations*. Click on *+ Relation* button, scroll down the list of options and select *Child*. -![User guide hierarchies](User-guide-hierarchies.png) +![Add a child](openproject_user_guide_wp_add_child.png) -Insert the name of the new work package and save the newly created work package by pressing *Enter*. You can make changes to the work package by clicking on the work package ID. +Insert the name of the new work package and save the newly added child work package by clicking *Save* button. -![create work package children](image-20200129144540902.png) +![Select a child work package in OpenProject](openproject_user_guide_wp_add_child_select.png) For more information on the work package creation take a look at the guideline on [creating a work package](../create-work-package). @@ -103,19 +113,19 @@ For more information on the work package creation take a look at the guideline o To edit or remove the parent of a work package open the work package. At the top of the details view of the work package you will see the work package hierarchy. Click on the **edit icon** or **delete icon** to change the work package parent. -![change parent work package](change-parent-work-package.png) +![change parent work package](openproject_user_guide_relations_change_parent.png) ## Display work package hierarchies After adding the parent and child work packages they are listed in the *Relations* tab. Note that only the children are shown in the relations tab and the parent isn't. -![work package relations](image-20200129145033802.png) +![Work package relations displayed in the relations tab in OpenProject](openproject_user_guide_relations_tab.png) Hierarchies can also be displayed from the work package table view. To display work package hierarchies make sure the *Subject* column is displayed. You can activate or deactivate the hierarchy by pressing the icon next to the Subject. -![User guide display hierarchy](User-guide-display-hierarchy.png) +![User guide display hierarchy](openproject_user_guide_wp_hierarchy_icon.png) You can also add a column with information about parent work packages: @@ -123,4 +133,4 @@ You can also add a column with information about parent work packages: 2. Select "Parent" from the drop down menu and click on apply. 3. Now the column with the information about a parent relation is displayed in the work package table. -![select parent as column](select-parent-as-column.png) +![Select parent as column in OpenProject work package tables](openproject_user_guide_wp_table_show_parent.png) diff --git a/docs/user-guide/work-packages/work-package-relations-hierarchies/Relations_column.png b/docs/user-guide/work-packages/work-package-relations-hierarchies/Relations_column.png deleted file mode 100644 index c36b42e71f38c2e82e3b8a31a266b35dce4dff17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13483 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 bKe9-Uy(c`~n~y5ue--6rl%>B(83+9jef^um diff --git a/docs/user-guide/work-packages/work-package-relations-hierarchies/User-guide-hierarchies.png b/docs/user-guide/work-packages/work-package-relations-hierarchies/User-guide-hierarchies.png deleted file mode 100644 index 318dd943c21261f18b8352a68c5026eca5142766..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43598 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 diff --git a/docs/user-guide/work-packages/work-package-relations-hierarchies/autocompletion.png b/docs/user-guide/work-packages/work-package-relations-hierarchies/autocompletion.png deleted file mode 100644 index 01ee6855a69e58c916a8fff62f3da35aa1fc2710..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201490 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

HR;Ilzujq%2Xw)bwb8bYIbeq}k>?c?6%8 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

i!VpP8Eqd-N24tVM2@NV@+l~u; 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

+r(; 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 l7q`jn(I`ml=oyBFMgTBOHtUt9%!;|E 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¬SM0u7Cq& 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

j+n}o21u%?$YLKsm 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 diff --git a/docs/user-guide/work-packages/work-package-relations-hierarchies/change-parent-work-package.png b/docs/user-guide/work-packages/work-package-relations-hierarchies/change-parent-work-package.png deleted file mode 100644 index a792b39dcfefe6bfc3994202cf3f77bb28033bd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51814 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 TxZN-P%k@I-m1>!?Y4CpmuBGgc diff --git a/docs/user-guide/work-packages/work-package-relations-hierarchies/image-20200129145033802.png b/docs/user-guide/work-packages/work-package-relations-hierarchies/image-20200129145033802.png deleted file mode 100644 index 71f70fff7f5d5670e5a069955da0b2313350bba2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14880 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 QANw#eQVNn#as7b*3prxLYXATM diff --git a/docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_relations_change_parent.png b/docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_relations_change_parent.png new file mode 100644 index 0000000000000000000000000000000000000000..ef30b3882e02bd1cd675e7dd86d51d88cf21579e GIT binary patch literal 70960 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

    1@{onIP=nd9cU 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 U`^61<+@h72R(X;C{N?-q2AX(FhX4Qo literal 0 HcmV?d00001 diff --git a/docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_add_relations_button.png b/docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_add_relations_button.png new file mode 100644 index 0000000000000000000000000000000000000000..ad5b7c7c0b2b93b4857d72b8d94d69a39134bedb GIT binary patch literal 134206 zcmeFZXH-*d*DmT~0TC1ly-O28iu6vTS4BXo5Ty4m5=ua&hK@8T1_2T2(h&j(geD~- zy#_)FJ%kn@lpUXEpYy%%`<*?`{@d#Z8!7SpXO zSFYUF(o{9La)ktU<;u0tn~5gvRT~rd_M6|a2Ng6*g$2J6cjz7m)^T-R^(lRzP1X{A{pMX|fTnfW zMVkzUKWOaZM?37+$KA_#@7r^(gAz05LA+DI3Ykk1<(nMgcmL%}(?SWV@t?%0cirtf6(`O&jjFWmAg zy4`rhSZ5xZ;8#>4jS=H48BfPsM{!(T)dub*=8YR8!&Hz!Q( zjKG;-rA1yf*xUPC0-R53C+2)W)UIsXas(E2;B6TOH$CivfG?oE!*@Ki&z^L4S2 zSy8`VR;j}NiV?k#aZit@RB&*ETM$7QLaOQz&pgLjzn5ch^8lroi({l3TXe5gZ`>Nho z|K{Yw)$$0JGrpbA1cLyTpF`AD(e^v-*9uGuDjpi6CHXc<$`7P@ZMxZ5hD-1L$8#8E z_v*;^%=^I5{Yu}tVdVcIJ2MweI&8(5N~h&w~Y zr4Xy`U#jX0eIzV?;!vprbg0MBy($4(Yr?%w8DWV1;x^R>xc`XrXmuGLSUo9B5YC+{ z)cbCc=CzU%CO6r!x2pD~S>;}W0;UN|Axy2OuMF%=0bkWokmO?kXv_bHG5J&{E8+#} zW@5AaKTbFB|F;W;BN)>(|Jxk( zasBVJ`u|kq{(m=X>N`OFmsX$T$OipIn((omUE`^k4a=TlFM$I~{$J4y70e7UTRRBx zf1W)@(lF>Y_)=BSBX{i96MDb)i!!dplZo6@YExN{*)wX#A;+Z!90d}~#z;%Q7c`%e zN&k$cF%R|ex8c}MkqqxdzX-3C$HF9z`uK3d3b&60_84tV)sQ+z-O2m*?PlnCp?_oQ z*B}^e8(toO-~Ga1tIoq8pz*sqlx-NGy zJ{-gFoo&VxPT`_QCZSh#qG%K|>4leEtVM3cUW;SsuFKz)4&@^)LRvomoiCu7nG&!l zx>wqJUONO$HL_Q_1+V4m@jh5KW6=Xvq7jTIDBq1XT1NG3bzs6r*(enay@g+kTsKqo z=N;@U$9Dphg6DnxC~M+_OzTxYFEGT)&qVt<*}@GfL;{J!%v;WR0~8zqXWwi6uk?~M zY2bOG@WsOVQ9ir-bM^VccP!^*0<2MbFtz!*<1?ExV+y`&cRmgv;+gHK|BBKxY9a7p zR27TfiVpR)LI_^Vs*&#n+ig#8VChs zi}9L_KMv3yWGbm2uzVo13@X2FOM^!T%7{9DOf^II9Xu9JMnt>!68$KOLTpl%PKdDzTQ&6FotQvX_{LWugr>Ar{g*YwG z@B`nsZrz^x;`ZWD>7eUwKv2ke-2g!NNt|FCAo|6LTe^{#R+S~=@~eREwHrJjTJnEM zHc68z(4J_uXK163pAfzp0X*|nhD`{$AbmlOZ10QeXugy{A2Cb@n&TalIivIj8#d`;xcI$S5b@ z{CytcAx|n8$M~;ltttwTNEQ1DQ7Wqh#UyBI$$yWt{}NXgLl0K(t+!_%eV>&IwpN0g zXg|QA#r`#S+feebanTXa_`L%lS(B5&^j@nuG+_1num-zWhh9me`>?gJt=O&qEz3!H zU_hc})T!XOq<^jY06`CM3{^L^;U&aVJD(8yQ2^nPcSMUt|JSCZf-i_;t@jKqqD=BH z>#gQi9>NyE`2bh)^cnhl7y!vm97{5y4|<6UgFcrR8_*LJPn(Tjuy_nqFQJ3?aKr8* zmxOaG^pQ(bo1yEZWE>CVW6Ddrf^0XfEeI*t+r;U}4g0?@ifBPJzh=~U4SAbJ4(j;y z_I$X=(<&~zj)6Hu`fXf}4Gm3zh2hY@KZ53~n=d!N-ES-p%#TS8$z6&GSv9tYXT5mT#Ly594P}TmcZNFu4ChhsF?wTBCf|eSRuf1_o%b@>z6hurYC1)Z?l6v|AabD zyGsi$@}V~9#yqNqMCY}xGP-nI;pZcdv}i|YMriq6Y%5-IrxnA-&CUG@LO7aiJ%8ah zTY6T`=KT=oLuq>$t5*PNxjy<8bbG8MKvkLR727Udh$d1c&Z~Nn0>6a4 zUbbAUR6Q7_B-prO6_+=oRH%+CK7v58M z|7E2G6YawHWO%P#=>x$}_EyR0HUPO~*`%4wf!SWoHClkEi(l=PJLYq^9Y|B2ElwAD zU-J*A1YoDC zjy79Dd3le~H7d&H3*mf{8WyY$_5yX+qFhg>l9oM{hT=kNtTt&q1;>ORMQcDE<7FE+ zyFT`g3zs@ow=uu4e($@M#ckOPBj`Hn1lga2zgL!>5ygr#c4ooaXB#2%HldTj#FcC z1-Ludk%3dibTc#_k$4z?x^^qaBC&nju#<3R1Q2|;SHCM7f;zen3f>4A4e(I73c8jU z1f~Dc>fe-~d|XyBzUwV;Tz*&g@6r)X|0iQ}f_UcXt=yGb0uO(|1ANO~wEg8MibSW- zKGbjUu;hlKJSji3Dl1WC?ANLXYr&PzExxcTtGp%qS5O}mxnm)3%e>~@u z`u@#^WS*88Q=)*;otySSh(Ls*O?u$?_Ze^kuKw{x+6jip_gf3zK^(rH%e=j8hFx~dm>7}B2LC_49jm}cm$R2c=z$u#xk?F z#?Xl^D&HY{`PU{~K@OUS-D}M<6Gv(uMyX(KZB=bF6d6@?N}4-zfmD3=g|F{atVHeS zukr^DBs_d?Z=V|stS|(X6-z@i&JP)C0iikBjOqM#tG?vok2?2Gn4O^w-uGO%*RVyP zP5$D)ouX;~XE}(CHi1exY?*S$w2{&Ym`3N!2JavHhDCldw&6?<-leKowyd+HhE7W1 zt;KaiNU-)6dwoJNsAyiOzsLT~TD>Q?Zo$J>!LNrKq+eJ4YQfLdv7A*oQ0#c7+VxGA z#`2`;YO+yzy9`jtRFN}Gsli-|aFt_r zKDAEiK<)Zy^wS^mb?zEXDfXA%Nlpj1Nc~t>xQdy`H-YGojLwmJ{WORMB!)lv%nh5U zd%JHsSLD2F_H-?>P{!i*`|$g80Ac+8B7cysLXjw7#`ec=2s+Uzu}C5*F)Z6k4LMKF z*&N6J&x*?b;e|SSdp3-vQg}?bOv5FDysOVNsQ3ydVNk7QLJpi$c}i6Y@Lc{n?7}w~ zuup#vqYVoP?)_!GaV&>z@k|L?>{5bXc&TttP=rtk7p#PPCI^_!I3@y+%{vBadHP(#-9(9UCV;TtE=i6wduFKSV<>%9V@#<@OM=Nx^an)BBw{9XVUPXP zTkAQ`ywI|)=+AMDovQWrGI;WK5~k)!F88HnEI6m(?tF9R2~`n5&qmO&MKRK&xvR~f z>ka-OarRXaX$;7SM5n+o~h&U8gX!q7$V}d#1z{0I|Y2S z^_aWhCT;2!hHyaQpXHiXcPsLG8~~ z_q0Ulz&yY68zpXTale;B-_t@1UW)b`m(&gZM7ANm8J~F3xFBe5l=*bA%*8NL+?n}Xfoahp6+%7f9>2n5^H#Qq{u=L|} zzB>aCUHg6^e9sF|3TxJR5h=E)IN&FAZU!c4o@b9GypXCB7~{(jYoO@dkfV<1fja@b5a<#>^6)-{K5y2~mDF-*o#brmgb~gy$GD zB{7&?`a+q|{&Q&pm(j@U&w&5DEx>XB=ey{Y3AGvsD7wER!@eko@y~RxhlSh?%~~qK zvYABhTptRx>S)xy>m3r#g}b`B8~30h7-XRIzaT4}oYZC}zqpWw1%L)t{Gsr6OcB7_@EOng>pC?mCo!V><0=+F~m(2A1 zA8WsV4T%rLMphFXAK6W7Gm!X7yhi|qXN7%?Vl|WU_Bv8fVx0CBtau^!_zxn-Z1e)%CmHK4c7N)19{VuRZ)Q z%4@4kVPrGseU&FmiWDolL& z?Cxd4mL(%c2C9~tSgZp<9_1NSi^90-uFdXMSDrcnTDps-yOdu@HgR#I8dXlYFB;Mw z;I3k-N)8oOhk47R!>(N=pHOEbL6 zqmlhu|L9sP%lOkvgL%eywd@RwC4s|3ju}cG+(DB<&zfZeH(^uX3H0z7KFzu4p&MFg zvI|Q!MnfcM$W~kS5>i3TUc>rDmgopJlSDsyNY7Y4!h0Q4a1VFYic+Imziq-N%cpPf zFTvn$9u>Hh)zlJ4+|}cy@*e#OY}07#2gN4aU09bc`uuH+*p5-Y%3-Iz$-y$A==!5 zu29Y(uv}d|`CPdfLAYZ@;fmc4;DSxn(cgXLQ%QWggc(`k-XO25mUs*LTWXo&(k0sSI@3xKTZB``8dC54I@a z%oF=^_G-+>lludsL1RzG`T8u;N6I$i^Tv`1p9#lBn^FRX>B&Jz4#swEuj zImy$ch8lhVk&SZy%mD^eB#g5E^T!qpOa^P zL&9~q+WujhmSgYt3CvJuJu3=5+{0#Axq>sVb6HF)9@*`Op>`1|dYL`;ak-DE=xcoC zH}RB~Xg{lWV)QD)?L>$NXcOtaKA6tXra+!iVb&icfSmHVT0f<_Si~?bPP^R`8tYl4 z_$HFiK=pNsAlRb=_*z+BE@W{$yOL=LyzOasao_abw^lO&;nHykQpKm za6bVi!sv!XLV=Osd6;3ueOyHj5Sqf<3Egi*8~Nv`sq%o@l`TXgCfn{2=+7Iu%>mfe zKnph4)Y8ORw{vj4z1HBOpVvx$$gEbowjIzjH3jF{xVx&;7|4fU%DL|?fb#)%+pcDK z^{o+{cQXu15u1`u4DaKbo?qtyy+payHbhsu@cA!R(W8FEq_My3?yYdLcMyx#+>ScT zsNJMc)`80hPgg<%TFpCoA31kz3<1m%AobfnifV zH$SaYS2ai5V>^zU4F()V?AMHGW>y6$b8kDjB@8?qVckA*HKEWH-;)K|PzX>OB~FTMfhXy4_(sjd0^sN__e*{wSHx z^r%zcZfh>`#`z3sm(|8&wN_p3*7bY$s_EV5Ii}+9r zM=GjjyxfFR(7e{mezuQ6-09IBR+*A?Wa>m8MGNZa;w?6063W%{^h1vhGjpV*QVW8Z z1UvcATX|Y=NvEmm`%Mrq9maRXTV-5kIr~A-iZtwnFS3o+Z_AJtIY_OEjR8BQVZxjY?{<5vqy;6Nx-oZWpUE#x_UC^kG$aPqBJ#`iC8Oe}^Zs&^@*}Ras zzzy*4^BUaPVoh&jBYh2bQyj2%#0B_6ujJPr+9)c-&vI3p;!1eT@!yC)2jvFd|>h73B5UIPSEhw zXA9>}EA-qf#OmAZK*qDr>{0GogKdi)r>Mgv4-XhDAyzV(mk8xq57qScQ}FDU0fbe< zxde4opa9`Fz%Q>ULaft&vGxn(|K!J&@NgHHcf!Ef$E}S&wPoq%DuwrXIai7ky*o19 zOpcjBJ2V0*;!d&dW{771;cxDC&z|!A<)l!WE7f{HV=IpT);|{w@;g}Kv};R<+V?F{ zK0@?&m$2P_XB8{wd>0?bbX&lD%9lNLrlO-*i2XC4+A`&N~yc(#SO3eb_G%M0%C5`YG&CXMax< zo;n0Bxx9D4{;7xBe`?t=eyGyA5^}D3y*}|)Oyg*)ssAvn&{58F^M&jxikZfZuVwt+ zh`#?(w^qae?SdB%@8tTRi-Yv`vy@sEnr3mU|SsE*g zx&g~01NrsdAs6}6Ad9-u-1Fq)g4qwb;cq8jjrg3e`{UktLzEqLXI|Ll=DylIX*G52 z|eca#m_FQauXsa3Q(9l?DrWJ&Cc6WkQ0ypGnn#x{WdFwS%Ixl^9Y_P1N z)s*XEl0Rcl=0fC)kYb!`J=sX_#W5o{gZsLU^|W@{Ydv`*B+Xf>XEE=t*!_BK5wYcx z!zqD_H{u&)FA2SLUsQFd-0h~WXPgI@Iuq2`*YwcxSsj$){kkh3Au|gupx?Lk3g4hIS z=95QW2HvFa!fFhm7TvB7p-0@2oF`-TY<{Uger>b@!HqIaU&{M;Y@^qDwe0;%oW)#| z-$7s6`(EPZ8PP>_%r;25 z(L=uR6=^>{OmC|p$EL1(B7J>sL#&$L*;BtWo12Skag&;GThsk+?XA86l@R?aCyXdt zkHn*|CZ#0i38)0Isd>CFDoWv3y@w#T_<9)S5lkh4tHv31rlHF?xpzY!Sy-(=Ps@Wl zYMCP)WRkdfOPeAc<1C=8BeXmnC40^T zdVJ76+0REs*@gwJ>I;%icdudQKKMR==zTOO)Gn+&^Rx%Mco7#8*RTlfdr>#^=nJNhoIi)Tjx<( zEE!Yk0o*XX-mNyrRY+`&P#EKn$X34r8OT~oEE}gg5ajF{hxHgx%uj5eu9yIPjFA_> zGL-?10eUep94Kk-52~}d^Ix2TD6kg044oI5PVR9vORmy(F_O)QpjTQ6I^pij!w)7& zMKsv0Uf(R3Ed>8AE8zNKmOff*KN5d2bbnF&s_EQAvq~T%MDm7O&J(mmc3f_m&okna z=4y)&#y!TVW@fdtxp41cX7K{TQ?x=vT8&E0j=Eni#v-QTTLx;tGP1~pXVcfijC17E zD4*k@^Yj-gJ@;fN*{OK_1m=sPo)Ty6Fytk8g&M>Th-{5a9 z3Y z4b8wNb#cvE=}YtPh8P3yTaE{g<~ojU3gT)7;00`q{^PPc)hxoUsrUBs1$OP8ry^V@ zDq76deUYARGu7+Uwax_zmvBsjsN+=H{m*u;NoAq_>vE?&V6U@7@-?{btGpO~J4*b1M_jMXs zAanUd;+enQle0E2j^}Zg{yHBOiBvBhF?YXx4x;l&EfvhI_+e}i`WK+cT*?CejTUBgQR{jGkgLZ8i{xr#t z@~~9yLz+YLJpZt{UMChruQU4o!}Otj8rWsXBm(9Og!1+jrUPDm8MXw=NikAt?h-hL1hHPcwu~jN4p}hhNMdo zQm^&PR7+l@h+xU7vpZrZF1otYD&^g6c-_q2(yB~ivx=>OT>4tJZqSy>giof=1+Tb7 z`1`s$d{Y!kChRJ$xGd(N^YSk@YOa^}q(p{%M4XH<>N2;GyP$()Y^6vjZ)|ZlsXfK28k%WR&8dSu5DjOa{g1M=kGje6=4)lvu(R z@j2Pp70)%?EK+D|tokWy*2eL3D-(>Y;QQ7m^Kelc9z^%$h3GlO(9*V0yIZrPiIr3( z((;so*vX7QXe&-$E&SRFdbh9nH@7mJ8vyW}Uzf)b8bQ|AWsWx?ntZOSneV|;YOIC* zh?IWM>4;govO%E(Q+*!IdP6j{{v!che7>)p1oqXlRMP(%@Z3*T8Qr%_6+nCM@6cFGp)g1_34}y696u`!o57XMl1B` z{gI-pUjafz0XRSixK1uhs*Ih+r}!KdRzE+Y85bg$4O5cu!xj+NSx(PLR0tMwF2WES>;x(Wq35{8; z}4eQQWw~oAzD|4^w=?@J*E}zp<(}E-9M7&O{k!46?lz3f` z$89`Az3;16OA2f&0l0+vkLm zLmgcwIwJpakTe4?^5V*R!X~+4j_h}A$3I4l&ucd;BWKT=z%VMpGp}O$A*AzAAcx>43kwoze7-fp8rF|(;sz~(1lFcW z$hyz*@i#T)OFz}1O&ped+fO@h0ihFr8RE?{zSmM$Ac9`ko#(W7U-$_UcXW~bn5?#g z?5HcF|FAYYiheqv*ZZA80^2Zf2tc_1V;<(#@E40a`+5+qr-Io+XS(t{IJ<7tS@WU7 zQ9i5XFH8}n@#R?sgJw^YFidS*W|$T%N-PEA8Dwrjp-}KzUX=IpnutZ~`zYKJ?>#;~ zEl9?6VLz8X=;_Eq#j*6sTD#>mb+kLnIL#rT(5>dCY_6`n6?9_mW1h))bPHmnz=3}! z^u(2=&Em~fq$`W}_VskiX7-QW9zQZ;O}aMA875l)axuv`9P3FM%>_2)#%j6BIx-Ht#+?si@-pn;@r|hpC6N)9&JBF-#%OOQyj|I1$eq$6*3bY z6sinm4QRVG41T$0-xA%3Aou0dagBqpnCKj4LRcdBlN=VG{rU0R)!exDfuhxon=>Y0lHRN_g%_RW06#?hzkaT`fHfdd1- zJm5J-I1Uj@&%iWsA?%S3!VtY~SJ^4%7w^rxG_O{~a-JB6*w3cdlGl{S$WUv`*XXYE zz|MWPA87FD~npQ<0p0C zBa`2Ebk1^MQE=sRQ{t8@qb%tQJv*+3UUTEb*_IE$V9s$i_#2j`EFIF_v1zRLJ&emF zGI&-K{(!gzf$L^U2 zc)ai7+=9>%8blm(E1NRgzQgLNSfl?(gcTZ+&{`Mg+Jr7oaZJu+lojU-VDXi`L6~;-x8{mth9G9KLZDRw`V+qOdhwr*zL^6GW+11bDg5R)gY zS2ePSFw8U^G@`ib0s(gADnjO^%EQctgsO=p_(-*`qX753W0?NPhvptsJ5DSUW_zdG zz8_ibqz$JAm)A&FoT8X)>vP&ODJn0nFTq!=Xr6yYh}~Q+v>qwDa59uT{%*2OEG=ej zL9@$?DISLdM;@+Xv~6^etwSd0;xa{BMjf+6m2Wr33p50HV1Ai{J*e)g0}3R8kpef6 znbwnmC>?i9smz&?S`zx3?a8fMQh}h>C(g1^DE<8J98p^&-=-?VQ~+DQ^ZYkfBBDfY zbd;YOV5gBzEdgY7rO>q0>j6?188L>d62C{3m#GQ(h%6%qL)bU_LmTTtWFgjAqP_K3nnwjOaiT;!L<3 zzlG_*8MnFkL11C$JEyXrs zmL*Vdna@S_5osHKM)0A(c^WD$k#oDKFRiaQQpG8i(R zd}6%5d-#&jNR)Rhi*|Y{n)U>*5}QC?&FBYw&!uf@w-SNiaV50gK51S%;jH>O$^UIb~FNPX968z}@1@sj1z$h$# zUZzTYcs(TxgZ;%sN#wz$q))dbYDm@1ZQ`$ z-{|!7vG4B6TKKON|A)2e%_j8>RMps*K!|dq-a+ST) zkx)u;wYekVg?{R(-We-1o_Ws?=g$mBMRND;wOzOvG?k4{Z zDh~>6`NI(_va5-+9EEzEYRfNdH7DM{bGj1bTbn=UK7c9+=Rt95FAwc%b5BcyE@g%* z8TVU%TdkS$fDVgr?X+#)QJ=1IgU&^OlTvF#^UHs?GSKYk{z0`s9iu+6lN;+0t#CBHH&VqFbQF2<)%BLHKY_;} zA37yxX1m^jx~l*F)tah2&yj@yDyj^ybd*1PF|&ZwX;32M+Ie&Zq7#oSfN`W4 zz&hkKIxVsc?m9z@>^>|7fBM!-VDG&?zBFZ?t}BI$G6bLAr_7~vW1|70GqoXh_gm$S z7A^$%27a6>l@C;h0I>B!SgwBl#H*x_W~xUWpn%HZ>t`=}r5+M#!P1F%w%ZP@^-PC? z)xqhXUs00+g#CG%?la>}HZKFbMWx?yo=GnKHClbs?4PVIZUjOX|H>FYIIY9HtD3NU z04<6zHy**cs$~hv=^?wtW|Eb$62X35Tq=6?yfwJz-))bb-d07ys>;5!)J*kYVnU4V zUV~n7!MI^m!1HQS{H$-{F>`g~vC(%PV#a3-$yKt)ycaW4|L}pCRHA1RrM5iH7gzdFQ^0eF0B0E?4Xj{qBm? z$nG=yR50oMkEOv4j`lr^qJtL^OBl|YT%JEP$mi-%|NVxZWP8}(d$!^1H#`@AYZkyQ zPgmOPSuUmQo|Li9ZhC^;?c&er_nBz->15N>YX4!T9#K4gQ3iTzb6(4H=St1eqY^KzG#bqG0>Y+K0`H){uJc<=4tgIz}{m3>_?aF-mBmkcns50h`Ac%FN ztD2dtKTT62@4cB@dXatj^ASEN<(%p8CR1MsQF*u11D-w0H?|mYxVc)o7lwP9b;&aM z_05WS;j?vd7vk2b@1szG9goyFm*V*3&sP4Mn({b}VGT=tOCYa`VyF+Qi8j{J_J>OO zGZhvcDqq_i;dn%iP*L$}@MpgvLknLv8E8>_KY#V|zMRcGKklscEmZII-L|s(`QA0g zt0zvH@@ZX@6YsZ+!ZR;)WALj3&F?Y;H(K~GjuD3~GItXFJ>uS;hJcy=IujY>TrA<` z!VM{YxM*d_ZgjkcO$oK*iLH{DK*oB-lv!ET_o{8f`oEv3TA&KtEr*LvHMK=H5+e~Q zouRa>)M1dX!?m&Fq>!zL#vyMQ3!3r_H||D#jjcwc0BWpi7S8T}&Ua5V1N%n=zdmRk z3}r;hkJ8}>>SLQUHQ}L8-B`DRl*L|UHZt_1a^pROL%(duiEk=$`>(~|Y$_zT^=4!Kq-;$UDpxqI>f}p&~>Eu|#4btJG7$p6_de4M{1?nZmzHwGjmf zLq@Rcodq|L$gP-tZ?8eqgROD;mO#7_V;Y35jXB-`@N6#CUvwkCe|Ap#qoL`}$}PTs zNZ!St{gj)ljt|y&u#nv|PJdxgXub@SxUQN{d+X*4}4>;Yo)q z9PYCfT+QFpg0n0Oe(S9ZAaA)mY>VG)Y&r(Mn-~ZtQ#;N4gdk@%t85LwI)TYELZ{ue z&lCglYofJ?Tzl6PKahUGzRvNy%IC;b@cXTJB7cB$FIf3#IK*ADm1$h)Lm!4#sE_W) z_~Mg+i|Ykk4lER6BM-CzdRi$@`Pd-T$nLR^T5K$ai5Nb25FhN37)BLnb;9)_`9llY zIWu7(ktdLdIy@fO%uWFxNUuw^0x@ypF8^+e`2Wehu%jdMe zpnP$J5$iOl&jIMYZ}Gm#1U;#1SfrTxVl>(nhM}_j6R!w7&imp|VK*#43HMsYY zZh8M~Wq41572))(E zex(YGL>oHHn`<{mzaDeV$-J4)<$2I8Pm^v1+!5r>TfBtIN7*O4zsNVgVU-mt0#YC9 z{82`!6O}pjWlf>&h1iZWwWY)&!Kt8jdl65%v&hn1VAPgO!&1j_=mfGqDKns937wBg z3KCEubd9SK3CQms&npQKbE~Ym7#orH*=`9Dv0b74Dg+$9-styIP;&U!})J#XYVXASiUDEOk3=?857Wv!M!MOQGMyC zG4zLkz~y=lWPK(k2^_=8GIhWoI6p_BRd>*&`dr7EUoj=OJ3Ih&Z#(OJpNA8m_Y7<& zL4q2&E^!!8mj0Ur-*S{vB8>kb3O^n_cXIkDeBzs*vNqBTYj9r2LyEty6-wC6N9So`+f@LUmgAHcbTB2n^=T=g;#LeDSwGKHK74zeHxdk`ShuAPXdcvUi#!g(~)sJI2lYf7_<rD4{godkwotC2}1MZ`O`UXWw{t-0Y;c!&v;|7^dG;)EsLE>S5>gA4f zaCqwb@=m6&!drI7#Cq%JTcfM@Z_h;dq%=mqf@IeQjRor;FQt5r>^VXkkuC8BtfAe*jxjb`0F7umKNR;)@ z4xY(IF;+~a`u+VOBK7Vf^(nfGNKn_N{6{?sU>&j^z7{yHd}w!Yo@zCjtjSeV9kX`bhJ@e^S0?qlk_qZ(-v!g=?eq{{40!Sw!%Lprl2c1nhkMNS*A`yVZq>`?@ zh-)I?fGlj7%;Tf37n;Xrb66D%O5{f9A}5|aY9edLV41#fe_oxb%U9APpO^gktP ziTX{^@rZr|w#{L|CslO)C-c9{GNClNikEju29B>_k!!KW&{O)?oCcBZ8dD*uNiUde z+nN#SjiCzy@CF|Vi2!%o*vdhimW({n(=| zMK~UE>TaAo$l|_%f7enTXiIU?^urga@JCH|ov115d3imID7RI0;|2x)hv1a6i%9<8 z%WVHT?kyQo)Xrt!o&-*C{7FYPxZ9f#X?#lg+?fbOfBr+%pTN{e5Y;iqju`JStUvME zpNX$D_%DrWbR42NS`1T@%*XYx$FSN+^^c0y&dM&AI34~=2Ar&k>#rpwl{qeqeVt%S zY&*X3^!he2AUuKo;ImqBcl6fsraB7Av*w3By%R1 zR(LOts42FydVuR7j>i9+ESVE0Ds=CBi^ndftt`DpJbi4S?9(&%_3fXEy{)~9`sg$Y z9uQw1A{P0tZ&!dS5Out!L=xo~aSr+uw~{^%^meS*Oux@E$hWuaE0hp6aq5+{pZTMn zr2pSkChuv(3wZsY8Qy;t*^|sp#qv|{{4L{7gYZrpL+%o#*0TSDy|;{tE9>^XJ03z3 zNZ|<*EChGA4({%n;7))5g%yocxD%`h9<*?G3U_x1g*$~icPIUH_jB&K=iG7M5AV2R zyzi%s5%#XN_VP97{QW0P4yq0UA{|zmOIY92(Hvq+hD`bXub}p7Ym+zeMgZ83W&Qc8 zKn+0m0jj+aTR&`(#;$Oq7KF>$^SP)d!}16Kz}F9EZQXk5P+@^?Ft@@Xhdm^v_gS%(_jcE&Lsx?qTF3i6Q5}hT zWmCo8GLw*Wr*HS{9aDt69sG23MedO%D*1t5F&E8^l#E3#^kJw=qU^PVHRaS zH4R=Qcu_rC_$9ocKK(ENn_Ow7d-YjEqnnY6PS?JRyouiLcHAs3c{4X`>npC@YbzZu zC=VewC+gSNM}u}aZl^mRX3~V;)6uo+du|djP;S9Y+xPjy5&SVq+Iv*^`-XHNL%L<_ z;Mt{I~4wB%R>JHv;P18-(Mr{|E_lFp+ntr*(bJqWWs;`*yn%#M}+k2 z-=aZ^9~XzeTm$kPm$ZM)oy;$P%PL4<|FaA!5&u0JD4zZO#8YaFzts;wkN$qbH|EJN zi_FjA1iki;#xpcH>spHw@lDQR)S>1kMW$s_vOL-hXsR-g89HmzW+&?vQB+3Eff3&7CHrV(n^Z)M0 zyH`p1DRD9o5f1;7rpcWFS|1Q{P?r#GUJv;<1DYMr|BOurPIP&I zOa*C4fW4o}L-&DS4Gwtu4KV*|R}~MS`GNh4Hk0g!gBbAl2(u4RJfFXMEOSfvXNRTf zkmB4+W&K$p5g_Uo|KVSKu1fNs+85BCc>7nE=3f3^_UY+#DE}q>yHn0Rd)dn@o-uP09c1>O4J{BB#`@q}zlBPvAe>TbB4vIb(ZC=7jU)fJ#90ZiS~>c%rTf-%Bw3$9UaVu4}_AXF7%& zE>UOF-O#N27iN}VTdo;CA5P+tEsK+${rAtVb4lQI?m_pc9Toc>t_>O?w4fu(AnVuO znVCj&6DB+m+9(H_S4UHtbMnlmrfRrCGNDuf`VAx%D>nxg8J!l`8Vq!NwYZGVo|rGT zvwt`>$b{DR4=>f6a4jWX9YC{mxXU3}7JOCD@1{L-DdWhOF8cAyR|$*e%EP5%Nml6K zopU!`O$?@Y_t)yn?^j`H1m!qARKP#j#B@->OvL1aRRl^ zXlmzFw{5=R(rwO94=-)Zsni$u%KH87IyP>@*(0s+^M`lg3k!<@1wzX}#OHpH4Ozh^ z^tVWtf&1rHW)2jTLF;#s&JmD`Db(CuQ2f4CU?S2(eK$e=^X81>P4xh5(@Y&+1is@7 zs~Ul)Pr0J@%Z3$`>xAp!D;0Q!lMs&kxsF@aiy2{N+^eQ52^c!eEY9@-ufm)4kUd$k2X|$2=w&KG(B3;72g>iW%nX#_tWi$mbGG!_Xk9~(wy}M(bbccoaT?II$ zWMI(1G{bsbbxU=0)oXaZ&mWRL*E@W}fK%tGhD|j4$0k3?2SaZ4%fb5>nxl|r3qsrz z9ujj-@sf?OgbNC{WW5jD(m9J69C*?(UB8O@GM z$V+_#jZv}hxocbm;q@NRfcX4r_9-Zub<*1psf$Gp@#G5puPIkY^MCtYqq#yY-sIVt|FX!E8mcXxUJr2 zlAnSYbBYbW0?Tr_(zodRN2?>(b-)k4g$r^1@o+ILr){NvYLwiM-JF>;Nvw3A(3mvq4sW6!M@ZFm>yf|sZsA5v7ZVLa(x z+dXdmbPWm$JprR0 z#$A3IHbaII8FRaP$dGTRg^B}vjW+#&E%l=AHYOK1RF0ijo?Xk2-%e`KJbPT8u1KXc zsJRdX`JNO-Ca~`MX*$cY*c?ud{#oCGpAu;!P3$dO^QaP)qH&I|WDz`=>9)3{04dq! zKblA1RhT`0f{P}0~R@Y@fgL>NIWAQydZr{t;O%6L8&T@<|$1WO7D0m_tq67_dka>Cb) zN-N_8Yl{9LMhl6AF}IA1JJNRL8LM(!!QXX^kC)dlNHQ8(iW{r4i1}UBct&xAq4AAx z`d3M)mYtWsLAubXOK;2Wcw}TJF%W@1`4gL-$y#JR-k~5kVP^k_q}N2uH$U`INZ$GMP7ryEPStEY}B4jAFzvbr>&D44Ns=c9%;~Bl-cF5)`xm_$6Z5nW6r|`9{Nh7A>*JvYlL(c^&!MK>wMS$i z&|sva={j$SIoX=hb-mOciaAUV&1C*jsS|R1J^o{APafTy$S7LlmKdl|dQEUXM_$Ng=@r zS)YUG#p_JP>lAIe6+kN2S6`*~u*C?YW1B3Eh6{?O_ekmZ$I-IdjmO0MBd#7gKaca| zENVGu5Dl|)k*w#dXLZZ!VYt3Rq)fR^A6}@qzsg^j4-G{o0IDw->w?W#Cs~+g{)*a1 z3T8Eu>v+z>DJ%XGGPtST?Bz!v1Y^T-8WP`@#IYL6VNQ9K&>KHqY}f#+vj9|8`q6ek zr2fiH2sP@R@wa#|dgiAE@_q&B+ahX#Ba-A&f-6Ssji#f=5uTU4eI6#yIM(pql7R-J z9M}D*QC6$=#con~vS#o2{G8?1w_6XNgxD6|w1uvi#(lhNH#l-WY4#&wwnaWUztKX| zRB+iIs>(f27&7O84ANs8%YPcqkd1s_)&fGzZ8f=RQxZo&DRs322ZuXLHZ+Lcvl~Dk zCF*&;la`6*S2b@~$G5v_3R*{nS3J-n=Pn`GV#oB<4l-?5MrxMs)dS3GPc17I>q93= z=YCZ?GpIVNM1;?Ju1jAqhrOTi)O~87{40ptSYw0S9q}XuA<|oWTFi zY4UEjt{@wZ*q&AxM2@y;nIPMwp5HP$H>|mYmJt=+_*WX11OXhOIV(?MspPYAh1Nby zD-P}~^!gu;Z-z%T-w|Fv{3L0>tR$k6*RF*u6h1!KSRcTm#UZDP-R8qpM>h081hI0H07Ji<*?T`#d10dw?&;kh|$ZBPYWgn z8UxqAoylxpTM60P?dz;Q7rCfpZ@=EKm%sww$V{)g7jjX+Uk$d+Fg=W?u^jWnFS{IQ zX%X~sq^>cE{!;sGyFoAh)8)2ahh>ZZy^V(3!H=^6dZKl{6vqeK;gAJwd>#d3%lw+y z`wm)Ako>89NJ}-zDB!nB-lyuYGFR_uhg;Tw{7v=Jd%VaV= zZ&8@doNY;ICf>^5%`+J<11e)o)@!&77@9Qnpj7A9JX({Lrpv2^JB7xNDigvQRxxEt zC;_S*>Q~Jvx{%@Y_1J;beO{FS`c;Se!2(D=0>#SnGM2zd$#EMaSiXD zG(^y_-thFdG+vVp4i+f@dQVY%i5imC=va*nfvuq1d%{)}upeDQdmSsua!L^no+_Vfwdh_(T5L$^IsmY`4-2UB z_r`ue&YzCGJ+{=rsIUOj{GqTS!l^XdT158zTvyG<~XF? z(kH+aqT$DRhq~>Yg)e#D2xf*jF#ddzZS&M~*)zqA&_NI0}(pGf1~ovv72JHszU09FS*h?g41V<48uvm+*zQ+YEqN}3Zh1;=9qnrhG%G#|X-m3=~_2 z6w?jjy#(Yryor_-^q)~qMkTh~Y~G?4M1!qD{y+!|aJ;bcPZZ-=sPIIJGVg7%Z!IUN z5)*jE`g8Rm+^&hPA?=qTv8i3%u_Md0D7ib|Q{ha+tgkxji-fHB@Nxw2DY@1Q-LSjY zHz_mZd-1VvL{sCC`(>wOqlQgP7Ynov2wv#$GF#e&&F&)|hc|qo-VZk372UYq8G|j{ zA{i9DLAE22=wAhuXY1gbBdjzTq8XVo^|q)@Zt^P*4v|A{UKaI1vNDF?geu&IH{;?b z6Y!7gR1Xx@-Nj~4`&m!hEV*7TuHb4RBm^dotr-N`j3+)nF4EKSSqK&7AJ;b6sdAb& z{lSR3Z4Ma-jd&}7{w8e3L_2#V{HtVrxl6UWWc?GS^^dSdzH~~g{SwZDBR{fm;{;(l z>?0BjZv+B%&Lzz-xUnMr+OFWJMyKMV^le8d0 zU3D31fTs-6-}Yhe{Oh zT2FpzSgrQpl*TitDO?a7n)-CC=jxffE>d=$`mXMg> z)+SVQ3vLf?%V9AIdh9@Ww{fFf+jC2|fo+OBtKz}J9NXqEcA>IJ?jHPJ9w{L9wQxV{ zqlo_O*WL9KWAYP+XPQ;U1Kzvw6a(cuoU=MSTXE7FJvBT`8PUcN=06>~u{51L=AoP>wg!!?s@GX0t=`<;w}8 zrmy~hq_DjQu#y@OkMqCHs()*QRBkPb=*%aMBTY#zsDi0k7?|w}4HIyc-yJH5dn zeZiSJ)budWeupt#N)xWL#08rn+}e{1I8@y-Fp<6A0YZgs40@3j-*4xX*mPmJ-R$J( z3MOsFiw9j_X?+m9RZq^IkFucab74O%(fO#*(S2(sZJ|X8tLCs|BqksgO)bcmfYXNX zqaGIt)j31jt2FhljKxv|1x($tGYYZo<2+FJQ$v5h;h~lwY9Ol7>>V!q;Gt5L%z4@- z?Y^hHf~zs&Hc%fRzIvF9#(z?J&z+I&9 z=&IKZZ`gl7aa%)vEHbPS6@3Z~a4*;yC9JTN%zfXnc|{C0r33AEesLcYXGlm05nmAS z(}|6J|I|GgZ-zrmsOPr=fu`3FPWX@cC}9x6!eM0le09MrC%~b_D4!4{^(DmUBXzqP zf=J%Yht^g^N1Ts6;j$MUEINt+3(9O|_RLSL$`bZcKfiLmHwyz-%ph|mX^YpDUKtaU zQc&Q~qKv?F&YLk{8*Woy@{9rMt1(NvluI~euzba)sy;QDOr&~LbF?C90$53aKuPMh zX#Cx$O0}LV6Mr7sJWnWTR-m_3isOHR@&2jDcIBQ6dfP@WWKy z9&@3g7{&D6y@^vJZAzmnU_GlfL7&j_WLCUCs1*V6 z>nCVto)bpN;(;evEb*p{)1)sYk4wzFhxAOLtGXchcw05eoHOZh>hSLECtSXn%Tq1m z+Dx*28Hz?J*q#FrUo!e~gmlt02`l|N$FXGVE}%;MZNdCxhHPYKwXGL{u8-_y^e*ri z-)d@zU)5?zu8a!x$p25JMmVoX4Qf9c(rF2ugumT4TYaJ(8r8HkH(8*G8!))sZ!(@!>P|etC=VU>fDY7*!=- zbB~H(rl#e`0#SoBgwm8Gj}&9T0Aw6yN+N*Oj=@8k@uP!M((j= zMOjH(yp}eXLVdN(rxOCn_qBvE7pm6H48r5^j~c$FN?nK+c#)z)QoG}dpVa|Dk_i9r zi{Am`*~^Y%S-;9FE$|n5e`kyDEWD~DE5yO@y-Fj)*wDb9SS16g`VX{<~ zov$VC{yWOV7`JiQ#Y4OkEHCTjVVR(UmG$Di5q8w3NvArJNHg$CX&X8?%FBF_QxAGr zDpo@Y>oo0*a8&PO1|%?Jq{n-+D9rEPmWp+v&aYLxwjF9WrXGhhR^|2-saf|n+?YVZ z(fuf|GeXF1e|SAcI>0+=bOr!ELGnHH$xeb3{OjZzehH;`{r<5}?6Z7C?}t53tYN91 z?{Z}a+F^0JU#py$UQg!x_#0M{Uv1^!6H6f}$Ass_`mN7SThu+A_sezC{6D@2r+v-)N;OzZ`QY6b+WFL%2WW zRr%tM)xkeRh}N->jV620d`!eeOB@n0_?C1fE(=KsdrG-W_tX4Yeni?@AfLZDg(u%F zs2cw6DrC7xrm0j6jf|1diz-8i0){PA+f}+3YTC}Q$>*EIkl_uI#xtrkOdIM6P@NF| zDrrQb>%sWJspesVxQl9svI0-(^AzLywQi`zAPq75&P}N)n-pKC1tlP36w}O1nd~2< zn;3Z1gK&5Yj~9~lq;8L5j%Y7_QWS8 zmpCPnYCWrL*7n;GJ+09MHVZed&w+l$#zmq>XR!`-QH zFe`c605vkXbKFvT;+sL+Zw>IJuDGZxvdG;z#SF%Y+O4so__LO30YYe%o=N?9agVrS zG#}%oHJ(ubv-J3Ws&%#`$F`mmaPXetzG`&6pW_=GfjFX)fmVHbo0rdQIsFAvO$m$h zqdI%c#K3jK<*UZR2RH3zgWa>A((* z#S=zSl9zbhppQJ(#WnCOfuZ4@tg;nilN!#>Zn!xcR;|MdO17vDA?*R34J=WYN>yb6SmoIVyX zpjmf10s(W@%%9Y$DfP6u(-jZqLldP<&M zT&b1+Yvb9oXEs6WEHQ}SwpF$l1o2g?kLb0F^f27PYCp8?9HmlaU}(+S+#~4tdQFkBT&+9f#|#G&QLs*ojU;S^Kn5ag0HX$! zXO<)!SJJd@K^P*L>0YW!0tDNGq&(>(M`TQXv*;{m*4RcDGaG&vUbB+gtg42_DqWdq zt&`|pX0l|?m6eQbqGrAx^CgQ8eu?dF&1l&&?M!_lW4?~-7v+;b$%`;IqJ%|RZS`W4 z(~(JcGjuXXOGxweT0S_czGe}LcHBEHUzUTK8g(Tsm-a9-LUY14?+gZBB_=<6#^8LF zhDgv3N$BFB*R+L|GNyy%^+!gjpS_TYB(S2jg62#T&}A97=GL$l@n=r%llPAu#=EW= z7S||A@lnnoJa%w84wC@NGt(^E5QZz3A~i&CSE>=NHd+uR$7mQR5SukgVwqLWIzS+8 z1*n85G0-*(Dy+vi1jdJ-9$!OK3 z0;o~Pt8D0uL@iyCvd^D)@Kq~dq@93Eq;=k}xfi1%GaDC+K_C5s$&BSODCaKcR-Vi8XNa^mN~ z_~3;YTVyN!DC~c~6Fb~pH z;sh7J>?SDSdN>W?0H7rt9`Gd4N2tfd(ly5Du%-!(z-19g(Gz+ITvNJN<*PzA=@ye7vOvQ1L~HC{W%reQBOXO1FPd7kM%=FL{h5|tkqtl`2pW#^W5Q;&EIVqK3vlX zKPBZbpg@Ue#EpNE;=NmC<8RfWQLbDq@y&KH@0aiu25|Tv-GPvIFl<>hg4Gz|8Ko$_ zre^ac(r?dWtkCTiyrPVYtT-@)BdC*D)<@yjce3A(Rnddp*QWDgEZ=@0E)t{>$~@8>M@k zIi-8Y7cb(tGfVeW^pBsdvgbk6pRkeUtfU7hpu5TQjjLPY>SIzCkFo9$73PSVEb{QC zQNWz`!YcK8Kf4-YeYs?&8ep-%=+oP_2|N{bBjPdiA9ns}T@?i)?!5}}7Zje+hxgIF zI#F7QPevXc3{zHrD;+vE=Eyph-t@wd$BQvw%sT{nIzO_+eGQ9bsm|OvBm4Yr%ueuI zmvK5EKo2#AQe8ZMuw~ZkAy7tE?Wt!DE!UxbAqUOrS`5z#U{ojDZec9?Hbj;H2x2o_ z`#(`}nzN?}DP`=Z&Y1X!s){~OVlYNQKQ3Yen`TSH*{#FWq=xH~f2W=sCu)@HO}l#_ zi*QrR%=Meg_%i{J{Aci}sRZZW0M3*_eMVgDNgx|$2FjU?m*kPd$_GjvHuPeO(^o=)WKJM?-zaBK%Ro;@2|h!3U2*Ap zhzDwm?TgX=rqX`V)182IoZ2qh!sh5#9#AUE6o%l;l~Uumi&y^1AYb~`=P}hZq-`=t zYLt}CV2a{~U7v8Ci>|475{C0^;&1f92#0Xd%Ct~T7_Hs3Vh+NGbT(6=>=`#8P|VWl zr1!&Frso}XaEEsM)-lK_G6Gyn_~j`N6$CWMP(qO?<1oICuYT}4_0Yg-;O4ZvG!Yza zJ=>ldfIwH(>*m@`<}(>kJ}~eDL~EcEa%U-?P@Z^m zS&DJWiU9A@r7NV*lpObpBfBkq4rQYq8A!jMwM}6S(mK%5L4o9N8$Km>Dd>P5riw%> ztY#&-*@e#nB##G%kqwKOY&y0+Uq9zxZ^w+T#XQ9Jkn4V@Z+S9%^$ndbJ`){D4a6aD zlUOOAeBe|5gwEj={_U93;OEP6#!PK#bbv#n<|d`A#M9bSWxI@Y>SsE?)pP)ms>f-F zRLQUO=$4`7?I2}m*1RrqBhllx*PVU9c;msRLnUgwJRb*U^oL(O!Yd+3B@pepSZ1w1 zMo?JQ?)62`rXt#E&W5up%{Z6zzHGgP>`j_MQG%D!JW_m&0OLReLBH{*@2Kj8Yf*gu zZG95sgJFe^r3c@c=)Is`uEkgJv{}u{NVEa>i$@lcnw+1p^kkdvwXupSA#W;`@JwLR zCP7sZ8^YdJmK$mXbrw(AB{eBvZ|{Dq4U5opl181q(l>x;G1#~7v)h|_wbB*1dtzDS zW{JixwG3wc#$;33gorjAj~mBc#yshH3dBEuWpk!dBdPJf-@7j_+UeQBPlIJk%~Q~n z$v92mL3WpHymXWEIzvrJo6S=5jq_MNmNKMg@=P=aU)qL4*h2V%VCs2B<=Uf1rVCof zHab9J05`@2YRVtzQuk}iwyr5*Kl%c|rI9hghpcxt&o5TQjn?Le?gnVZ25uRd8)l8H zx)}ecXL$##2qxXE-x(h%v_ANHBu@Nn^&qT1pd|y>aCS)teM~zyIP?nO3 zeT!DH%|{Wtku(hpM~wP@UDi^p%&|*R{+jDb=y8~*&1f2L2RIXX)QPS0QME-5-}KjU zp?lmB4x_IA_~8M^4ogws#NR9g783oa>;Rm=G4YQw`kdT|&Z>`juyMR=Kb79EWyH#d zvSW%`z$w3sI67St-f1O&d`2Ly4J`8Azq_TXxY_H#lm;wy?uVZmnf&uuoQZMhcBTyC-VDMigK~9Zc2B&aw2Y0nkYq5#9SKW6bF9#D9xnFXC5ZRDu4zZ z<)Re3>%w~pIpmZP)=j*Hu-W#jNd`cx=t($%y2kyc`r ztvNuwVZ?8*GeJo)&TPxPs$*dHjwiR>2mvJt{zP2>$=JDEFJ4s(W~eKX3GPf1C?>wp+B zr0d3oPZFULudmsI_(KQu>gOtpdNgdDug=cmAsm!R z)TqaWB1GbAI`hN4#YG$0*R_)|;HnqeyEM*={toY}?H)7AX?V?wB!s;wrEl#MYWeU* zeZ-moHlt`1=>?F~_o;`7@pIAGglne_xo7AFL#2_^Pfy>+Ah7UzEw&tiTyoWN$NCIQ zxoehV7C^X@%vF*CVv%aEbs!&khNCKZ4DE1mGAgRvPq_^F<vMtdzfU8 z{>8AqN(rPs+;-8nri$Yty)JXNNK){pq0|$DuN6B{*9yJ1#O>Ds ziEo)ps00Rj&NKv=eG%yH!Ry+bLjC@RD8~Wz!K+tyU`f6f5_qmL+iHC!*p8DSi3(6B zLpxEZie%lsBl&t1JSRU$hC;ALY|(HM=9i|Ny*&gCYN(YJky2X&w5AUcTbtxA{wV zyp8#MQweTC!+Yp7B#hL!sxeV*3W$@g?*nY%Ci${Ohut=;ifA7*804% zD+DJ`{9q!{t`k?dA(&VF?NUf<{J<^Jj-B`vbwIT9pr;nl4aw9|p@GKV;u1?l^%`@u zP3_+pPo#05rDxA6mv08257YEN3pZHp9ZWCNY3)1bj+lCS!h6y&R`Dcq|FVw;j)>M* zIuqL!*+sXhp-Lsi*;PPZU=ct~uP!ph^VLt&6;#Zm_`+GLRQE%19<^7$;tFNdC-P$0 zHR|xz;~>Rx)aDQQWP9i9kPbVn4^AglZ*A8{qOqKQJ7S{FiA!7dM}Lnw2nS-17Pkvg z>~T2rzc-Vi>U+8=Dd5-T4|1is(%wd<(Yhp$Sm}Xb>+7qu8DySpR2@PD}fsiT0iYh7}$Juzv~rA z#GwlfFcVU728yMG09i(^LtJ7tO`qluNSwNyl$i{XJ;K%9l7!U?Arwj@1CYXqm$ zQV7^H_PFm_U>hYy+K+#a8w$4&f`$ zkWO#<06R@j!5?Bgl?;RdoxGJoLFYH^;K$p6rk{tr_wBUmJ82Icf-#j`0!tBwU{QA| zfCm-o?#2H`0gGqKUpWu@U0z6%JI5W}OW(zDPW*jT6f*@(z2hxZK*_{!4x>0(V{83} z(pTjX%{;JvsC-B#Q-5mLyuO1=YFaU4%eVxqIp^p6+JK)ZL$^6|Us4j|S|HPq@yn>|;OK znxC}O|4h>Wo%gfi|H7C4Bj@vf@S;={Eqg#A!t+$W=VJ_wJ$li$e1w?fpG=R0=AW_( zKvDl4_pdgM z0y^W*j`_v5QJjJ$ft<&Q|L5q~pMCWICg=9AVUfxAA3x#OSn z^iXalzr+dto@4)d^V%24-y5{ZD*eAKlS-GA|^Xm}TH?m)^hBO~MGgKn7}Ui;UcO!!%W<;w(I9(!aA z>$>gzNuFEsaf1KNZvS` z#GH!7Zqr`i_ImWnR^-2KG+!Z;A4CE!xTcJ{E#ux~^2}`?VPTU?2pG@E|Su z;D6n2kgmnq(Lr4yu?gc9fAw^3D7F6Wf88J`@_mbYVX56hdlmQP z@3nmtAzK+qwD+vv(K#zk{O?{nLK-JGMEK-Cn!5{o)ezyflF}3t%(~9F)X|@GIhwQd zUpCq+!LXdvwk+BUi*8}Yi&mgSpab#&PYX;SxcS9Z)PGy*uE@JXxE&*(Si8s!^tq1n zPVoAFQxKrLfb&l>bCBV`4@AVzJh-C&BmhU?14j5?Bk||7LIHvpijjXIs830m{r@%C zf!RtWat-K}s2KgTY=!)_`TUw3KQl_`($aOvyFrAVYF< ze17OpF9>b!f7<`)QY_>(6QOXtXz_q{ND8|6a>Ba$a@Wb5Y8+E0kKO0T8&yxWgYQ@8 zk_1~0SanRTiy3rOl3}X{y^IF0cXI0gK8UA={Mh2SYucP3k81s)h<}NCr9;bbBkxDD zII>-rJ&DKB^zpWs8J}UMLCfC>8qKf4WkBce`33(%^t$-1>JvdyiT$@-yh9}!5S@p=#P=#{!29I(!-Tr&X<-mZ zzRqdw^fxQvAU9~d7Y>&Ar}INBq#mNuGiOq!t&Fk2t{br30*T$)V)NcXgb?9*RH(fU^w|NjZHt5R zHM^8yu8QbwaJS-1X#D9*V%t%|`4rGT?!S*09C8#J8mIe(q*W>}XkHIPzT*)f*+Bvn zP9#+i_5v}gDIisy-lMt-{eY>ltQG-I46)RGOdt-$+x)j-4XEtNKg+*mT*_GH{CpJP zd|)MbbH|@F?yEZ~AdFJ6rO)2yf`)gxN%P50yCtCZt@2hs{j|tB~0$e%|>y#Z%ty$u#djhF-*yQGfGeQEn7t@+Md9vY2 zP`#U!{aC*#C57ilmQ2ihc0OV=i?q_=aZ=~GPLDNa(JDU$RgiBpso9#&Ox(vNAUd~W zz6><&s#oh%)JhXpO1Z!u#Be%BEoZ!Ey4nOL~**(S?jBa*yN zfD$eTHOd4+4BdXILwi~+r%h8RE<|E{YE@sGg1YYO^f}tJ-jr#kCmv54z2JvoOIX^| zen^cpYnv3aNv(xC8r<*OMcM%48qEAVpPNa-G;hTAC$>Q=@VH)TnNG+0SEes)*`6uk zh3Hh@s<^Ar4~+G^%#P?L2hcJg|dfi-z3Y;ZHlr8~VL|`VOw@EE9Jg%^L`v`BT z!o_wf-MMK!LJ9tA&*R{gOzKJE_VwJO;Ln#b?|yC(6GU?7()HvT2gfNAyBDN#$-U^r zckcIR*lY=PoXT#nt+*WsT-F=~K>J5fGs^}!#3-)jS#HlYI!t*OQu>|ujmxEdqSBr* z*UCc9@}5}q<;1q@(r&b7S7i)$@rGu(*_=G#VyLDr?>9)0=k#Z!#fMi5y4R805H7>+ zfZorWhd6^gQds}2RfaS|NJ;bY-3xZEY~N9N3tPVZ9rj%v^`zvH@NULILXdoSu|PB` zP4uZn=SsXakb|NdSkzus@;;1@`s9)Gqs{PMgAM;1g_svTOc+qA_QiVLILOvysKZlE zLCtkX9m)J9@TKbZ`HNiBc!xwpk~gVg&X0`c^p_3$_9VP+nm1ny^#zwI9@V`ncI<+B zzJrlo#K@GLc=&EyVZ7(SxJ(l>aSrlyYIJ8?43WBRYb8dC00a>8D?kRmO{Fk#5~px*WHxl-OO` z!Mt0slcBvOt9E}VSx6W80>|TZ?c72fEtY%?5p9pa&DPob@Z6G$&rm};dMa{WMZk4|bg+)LKazy(^i^C68<=Us>SmLU z8f3Gx;3-hpO~9v_2_fCvN8ysB2GQVJi8nN5tH-YMlcol-8-uLN1+5C@4Q8A{!r3n` zO_2mq@|B-@7=*X_FJ4ZDgk6!H%|?6oGCUrgwC=!|Y`+q@ZhD6*AFQ%1(p*XVefJaR z$7gYbG-Keb-Si1QkogDCLsK;N_&W(S(4H;)KXAMcP2Qlgv~KL|2o_(;zg%EyBZ-(}>3 zA>OS!cyySZb-bbr1oUlkd-JA7dy<+{razeK-XHZLMpsg?btVb~DYq{%+CR?PnQC6R z($x+wc=2Vl&Xat*d&?{~>3F*uvcn~dFn6e1i6F(O@Yq|Ki=#L+;w5E8b<}@fbGTFW z*b^bi94b5gP<+TElDI#y|MyVZIQV!`IN%czO|;Q_Mc zmvmcUxam7bvn(g2i5vN;WM_lDBWHt0QQ*TV33s!&NJoAj+)zXeC}{0YbA(-JvK#e{I~pV}Vsot|U1%yqi&RN?mk(39Z@=Edi@Z^^zOh3Oj35Oe)*Tdo)mpe*NA{v--ST zh9@5wSvqHvJD?%1+YmdQc*{|GB_=)~)KQgCD_r_`hbw9B==a`cZKJ^*hi?ciLGjZR z5tG4O6qt~NE{ykK3X$$032@ za>V6erw(O}ap)g8)8Vc1o^8xmzogJUtLJ)e{pN(8Gr%Cy+bj9))Z+wiqyDAPee%m2 zcXk|bVZYyto&4@M`5M`OLGh7Cz6ipAuo8UIcH!oe*RR*-j_(^J|MWnW1F6qyhhN_* zJMIBL7O1$?-WS^G=&Bklz*>EjOL*CwT?qFGFR%uRq4+65bDWrGgY(v%Zzc!%;Gs3x zk0*;tL-(HWjMqAc7fma~#d5fEf?xJ_FoD+#HJ=BR8~|C6^T|k;>hDcKJVE6nwl8nH zt7}Y}w(vUUFP#+*H`;(=&1V!0dsDBcmQnLX-BgJ;NvQ4V#hnv8Tcy7w3j?d?p zM!9?41jdbttvf)w_>PH?QS+Hw^&^X~mY7$Z#(VXdDA5pp4P7+u*uu{hv39jWlE+W+39d-t9^Gmxa@{TUANjZ+54fzig!1J#|4JeDK2Nd z-kq2+cO!poM;5%4Ka_PC857r{qNtQPR%9 zR-Rr9s@gRf&biUd{WH6w<)bEUmHw3#31mn*enbIp#j{y@!{H*D^+A8e=GCqsRL3N@ z#2hhfSJxAFoK8&^_!;Z^KL-32lYK-Ayzu}oG!wS3WJi)rCiyc}kT z>8-^w!wb)!IL25+{v`4rv97&S!i|7m<6smStfO~rDm3D5o%C-b`V zr3=CBsRdF#>J-fDT4Y|-Jxw71r9zpsDAJY{_)G-M9D!FIxlGM&`qy#LCC_PY^WdJX zzoa#q6}Q$tyDe+$-hLXcP?Y%=$TL*=P-o-HcYm3bn0NS?yP2OTXPcU}W09AqAk;hxwHF|b zl3^}$;ux@H$HPeleTxwjiuN|`KrZCZlDa3-Oa=LXD{3=wnZjXL<_0ogyh|&6$y+is zI^O3qWvh*=;+d9Qb$!>j@xlQl;4MTmQ8={r>9ZnfJvUQmjlY7*e(k(2UkFt)a=_QR^ES zArm#B!2Bx+P5vT=vc{aOh`0IacOgtmM*R&PkyoD^MX~8TjS{TTf;HwZ-+_r?PWw4* z?dEC0sHJi?B#Y{Qu5s;?y1^oTC3VIQKU@e;_O|Y0kUlQoiuNxIZhfMQtyDs>1&U%5 z{jC>@(8eUW?LI_gv4$2*uBgK&n}i$%W)I|?Y$4%m%H-OBH;@51Q)PZ(Iy6H|cBn}< z=WL-l3*xa@LAN5=T#Oq-uj!Fal_QUC>#yaSh2xoua+1JU$N|T;f)9u&@&VeAkOLHU zcKmGp`pqvEn^@GJqWTenxt(m64D!sz{v#mCaMoh$l5hJL;BRvcJs*Q@9DlExzV#@S zFQ5e4oZ7zR*AbH$t02~M@#4E|r0c0|JOYx{c$Nt^pPl>-M5F|{X8GJ|maZ`0 zs-(aAd~pM0?Oe(hX5JuA-k=|vAVl)@WZhf|0IMkKmaoTuuy!VG zZcVfQcDgZl$9}4ekM@?pzfmqUEeT}06ub>TzQ!g&M0W9`Q$pgGe>z@6`2)K5HkO}K z(;BgTy01*z4U9dmXhfSmdi5SZ*q*&gu(i_d(C9$<)A(s2RR=4_#UJgmy*zuT;KyeY zJ`ffSBHnYLFWLH!Z&lOtfl~7dABZ-PI8GD3&#GxwfYR?H?75cUh3WSni$k3b}TLnj&Cr zJi3wVfM%G!Pf~-iR9ppB%-CPxlDuHEukY_f-33MAB_(Jn_`#}0?a~PY5?cO6_*%{0 zpE0W!B#&Q48SdN3YKv%{5Q@)j!m(!D_TZcTuokPxnu6rJ^!I3UK?@{=DgEP~DXZ=p z^U4@RT@xC8B3iM;&IRC92(;F43%w^1&8h(;!(0tyVr_YGSqUDmgFz?~Qh-*nJQu-S z=zmg>4$naq>p-JCt78aD__{XED-ZucSk)M4Ey%xJh*%3P`c^RY(D)g^pJlAz)Hlfl z9v^D-+Q!q1Ram^?JiWjs+qGXv)gTEqf^CBd($sk=9RZq@#K$LZakk@FUoO2RqzeJO2l1B0|2 zqfXxt!OnN@{4C~ge8BQlPVePUmQ{k{dTi*5F5uQ~w%2K3&o<$W{X(G?w>((=KrOu+ zWp86QgZY5u*xKwue-CYQf=d*?@r0xS&a9QOQXnT6FY?DHGblsCk+cgfa?ubW!!H51 z05CJh8|DRBnn8i$Ovbj*Zm2HCJ8tnV>I$WR5D*Ew!>lK1a(>d` zC1QPLdt*eQor@lL_#kbthWUw{-dTX+J1=d}7w8U2VmO8$Q!z-MnqCE=shWAoL(HIW zlojdp={I#6Ii}@r0b&;{KE~hVDY_^%S?B)K*{j!3o95eL#)jdas)pxq!(fW`cV+Yk zsL~vykqD$B1}VilsOB6Re>b(QGZC0P656P=BCylnEqf1@eZv^}_1ksN{g{7O5KDod z(=P8kn*fIEAS!^?332q+Kx@iMj62uV2;ns`lYE%EZEz^IoEE%*IKm)2;#{+x{Z0|O z73X7v2CZ#L>8}D^?V9ytuy2_I^&XPsD44_F#gEWpI*oTuy>XlKuZAlId4B9VL4gMb z6$h;^YxLWRw_Mz+rYQk*X*ygSM=??9u08?h+M{@@gG=1@yh{H z_=tJb8C#dL>C81t5pZ}^cZKRR< z)h)1mME+ForRY|${9c^_QK{-f5I9ae8q`0lL>yJyrKRSdM+DFwC-BoXG^)*=CdSN

    CVzKtZl+G5FGtyoI9Su6i|`PLI%uz`Cc8jDB7$SUk5WzJprXFkOJ zzT>-Yhg)KPE@S@2zw;8io!-_@Gy`O#VmA)GG!;}n$yG5*SIYDvFIm1hYCw$QpBRD%nRdUme>eHAPvuLX{rAAUd}~`hp7A#J9}*MU z86l3lPnsi`%t&kmc#qP{G(-UgslG6|aqJ0G6dtb?6pe>4-GT%&PW2uBmhx}q#%ym` z9s%LJ@IlOU3g88J++_0&{W9hRSnWP+-8?USjeR^CESHUH$<-q{X*o_Vgsv)j@7f^1 zwP{$t(q`QxVbYQFyr-YyDlyl&x`3?4dm`wCOGL!t7Y2->OJZ@YeVX8nLpU7%#sg2-_&-L zQ)geOYD1S%+F5jfxvsq|%1fJCY5T^rh1;dA{_auJCN*xi0%hJVRqlL+^5ATMs}Xee z7>n^ZjV4=~8i!4l<6G9UK}40|?r)JcZ##W5%N3Vl5>zG50NKnTYFvQz6aAWz+84vq z7G-d4oZ!Dbrw(f`+GN*wi1e68#Bz(4p1|8AKm^9+`83Tz74Mt}KcHUv3aR}`$*!zj z{n2)3&#h(&BoV&_`%Veyd+w}a?dfUeYoR4xe|sY@j`Nabt?bWUFZvd7)&j!ogw9$FQw*!ocotl6V=vFun$JWFJE*VVKX9H7O5(Gh)@g`bz!S)S*SaLk5ay|%$J?$o$Txr z71;X*-zxhRN_JZ{&(D#EP<*)%eea^Uf5Hl|Djh&fVp}QDQaxweyw<<>>)V_RqmLg( z#{C@n@BrxLnC0r3>BlvYP~tQtOuOV_XSzy>yxiww3)s}5kiI%!7od$)swpZ1Io;_; za|F!C9zVR)#B^Y|O2u272T5a4TeQHQkVCf6s*LjkqR={!wmky0occz*q6GBJ|8Ywk z^?mpvoyksR+2u?B-S=9!c;_GLTgp3;IDc!7>hlUvG`Z3Mo8nRKdhvTvzKs`Fwm<0F zSwFcI4B80;xODCbu!-&2Drl|!pA(kNdz4|LGs~x?(fs>`7;$`VQg{dMRqNKotE|uc zFQ2ElpZqw?1F5N7Ih2a8eQKu&*?SX#RRO>`{=KkZqTjh2Tc7XpqqelWEt2pPqiyld z6))VWcURLx(n@{wwq`wgM_EOkG-Xr<*dqGzlxL>vW6~3Ys*{|T?vtkn_3NN&?`sX3 z@UDaR0o%?^Lc4idht$2*4zpZdbgJ=W4t%-b{KPoEZ^vlwTXwLYp&P+fE z1nP1cs`toM$3lqMx@cv;6^9F{Iw!{?-n8ZyiUH~*6OwJ6RsmQkZ~8YmmlxYg|8R!5 z4pVZ_BYvd?`n4Q|b(l0g65C;bwmt?w7~k!ND=O3Rji$8xf&;$ju-qRFjnF2+>aETf zw>B=^CF5MikVdAKRc9W}g#N-Z*<6WFJpnNfcsPtEiX5gt841Sv+;Kw-+}Uc+YHb;X z6)rqUY9NlZI|0oD&Y%S%(;L*+Zb{?QY>FHv8v(Qp@#Fy9)AA7vBRhWr*k2S)m&|-OdbKyydSw30{(86!|S=OMTCcdH@BPrV- z-#u)G6Ywmd2OWaEM9Ti493M6%0Y1>@rZL2$Y4m;N3Coq>0w8IBz1+R~El? zPO0BLq^oxG#Hb2Y5}WM3e^3G@(E)NJ4Z0ia!!)4a`LPbpXUIVT-VwaIoN!vjM~jeD2c0xZxZ? zW^^6BU}fq_FwS0L3pZU_06HecLcZ1j>9J=<6RbLZJ?-TC0)pa4YkFl{!j`j@oLa=b z=y>0#=ID$omHRN7?EJ-Gm<Rcc)Byg@pgqf;=0Em{!BM5I4vAi8j5thP1(qB0M&^=`Z_6&dErU~3Lx(F2Cp#aV z!4?y86j}KI#{x{|vy{m(>=zL+Al*eRN;mJs2wGmxk+$o9{R;9=krVB-CxI8_zOiq;V5xVV${oT&gsuf*f4O?zSmE~Lb=qWm1cTZ%$+ z`j0a(za>=D4~#6J(1HnC>ih%?@gAdiV_VJ`25^W8{RnN?bI5G(kxpJf2&cMydp6#3 z_)6HGxS55`7p+~ptxo<;DZqO#Jv7-&75y#cJ62eZu2k@mU5y?N4{D%o{oi>AIPE&Fno~c360H4ou z?kUyKqu^gIAOlE7pnbcPP1h2AHdU+0iJWnm^1!oG0m~LtUd5wZLguFB=bM*EkZXcc zMI|G$3}0ULe5**k(DHNIPr}~RcDA1C;*ewE(FCh*VePQ2qT~9BLKZ(=7OV7Z$X(gS z76H8Be$gMbT0oVW((f+C3^4(T=u!FAb;|feX(!FQbGQ`miR+7-K*yy|mNJ4zHU3h& z*Go0l5N1#Ou{|Bty$M%?CT8MjKACCaIkJgD*59IJs=?VhZGAaMUMG2$@^kb7H4!3>)_i=}Bs&RqgCA}8Fo=Rg zYd#$LqFU2>hCAQOiS+L9%;U;@hpNYRCtR zThay32H(|+DG7Uxb2o)HP@jf6agrPPA9YgZ^WP-vcm-+0THqOePQxE;?Gl3| z1Zi*YX*T9DU8qm-B7g%FA4f}_wN$(wXxFaM6gjADU>#l5hsL&d*`);X zq?|s23wPutv#duyn48vi1_(q+udR1m1)j3SKzZZfcmbQtAhOHdKxN| zSWF4d9ni+zS-!H}i_LHXKL8Qu8nQjXqrL#_D4q}~{uZbd#@I?s5Gh9B20RBFPw5bd z_@Pv&N_1}hiotnXbP+*pf+Izbbb7mi?mXk%$x{(Ru&)tYL0r55BNW*;HKmBZie8gCdyZH&+(CLsAx|Zfc zCd6Nr;*FmWD)azk;B@xLjhb`X3f1t#T6Bs95CUODJ8k?Bt{VsYe(|LYV3a@xt7!6# zu!p_fRe4p5r4A~ZFrn$EmiVlb?=IPC>5*O8wMpFt0-^a+>Z`bI#iTqYxt46qN;Rkz zU>=lr)%@(-b%!_t-q5QccEuZa5=7`5vGP_{5VXLA|9QTb>BgJBUw~e_Y5cRAxPSR= zOZc$Zi%$C--lCCgMx;QF0LM|6sy?GONnMvB05%uEBC>&Np^n;nb3l@6zrWt>4WQuy zOo>2RB#7mG6`nA()fU{>>c-E_x79Us|3<8pTfv75+H%R-Qbvx$7^mZQAgXQq-}fIry#Ej!(0~g0aH1++ zfTsqgt*BHXs_{JS?gH{p!2*XC4#a11Fs=f`e899IotsuC8fPfcX~^qsHesw z{lPv{D|TImB)QJy?pk;&82hI&zg5JV)ZWwA$o!Z!wnP*Jt-{zun@sr%vH0|Z;c2=s zUh>Ay(#p0_XHY>B64Zy2)NyGd_;nP(FYOS#_hyI%a5&;!n`jXvBNODCAwipzPxDDa z!e?lrGGLqV-7hOdN96{ST&*W-*_ycgAeWSPz)Xv7(->|;P0paV3t$ue;UQNDb#%-K zhsJfTPk|4twXdi?x@7i>k2B#cC_zw<58XJRnwpAKl3@|H;+)X064asal4-jne!cP( z!ICF-kV=#mANs=uJEm8*2uM};kX9xcxMBrR2~`PVl8sZ8(h*QD#RwK7$6N!@r*{)Q zqd$7=O%x%Zv@aBWWcM#l08nHGLFqo3jXv>dgSt0W*!bZ5V}(1N981>}Wb-e8pht4r zQS(xsayn?%;a%R!_-p1Rbt0yub~P&(@k4uaeMzM#UArEoDBqH_eVj5Vf#po@c=O&28&wraC+gP_$)H#dtcIBC+`m4kz9{4qf zZz#wY33~1B34N;BM(RUAz#THRaSDf}cRX){Tf!x(`Zrk10HIXpB9=rlPNB(DCsS2X ze`uzI6!zKqzF=5#FLb*j=sF0h#jtnk1Ys3=e^{v1S~m&F*6}{6iyb3$xr3#9rCL;z zTA>Rf!i@)Zg)hY2(QZ=)^ft&nOtnJJ4DF;$xj}k__)KlHZ0Lla|1*B{OSCh?Pd5Xf z(Pw`l?U$6AHye3{j@i6-4OB?ytQu=lb;$@N+DRRu;Kqgt)b^zuNd+l9Fbfc&0 zcZ5Rug2xI$-e0p8?-=^So zu6wnr?jr_#G8qYm3&OM&auXvE9@^E!?QjJO$#fShNV6MPGbbV$7#JSj#XFq5e+B$f zL^UbC^CVg$MT3tK7WW=Z+n9V+s(szu`@kO;REY}BxXL0Rm*AP#7V%aRF7le^@Rx*R zFnmSccT#KaRg%jkPzO0t>kYU+QnuXW&;4MnImqhf83f0ztUA{2>mnsN7wntTy6&cC zQ~e}dwgvJO!$fIH8@FUA8q1bYKRQf>;*B368t1MGCyJn@@~xF2X_+4!j#v4`q1#PBJ>JO^j*6 z68IR49Aty(ABc|TT-lT@s*cQo$azn+{H>~feb z?)Z6Do<9P)SuO+0*dIm;e}4PbK;&O#oO@|oPr#mhIlo9_K}$s4?zt&U-5|cuh$md9 z28t-zr1Alsn7w(=mLxwFxMKL2FShdPoDO>eS4?g$B|Uk$G1P%CYw~>j{Ai)Ffybf! zXEqlRNT*NBbWL!c;a0G_5X~~>O+xmX--)GAzWP)XD9_M|$)N9Ztr7HuK!pAD#Z*I* z(DSb9(B;kYKgw3JXVK)x5jI|}sffbfn)wk%+QPnLg}WI^NM;|(@shQ1Gxt7;?Sve; zjy*BxlKKO=P2UwyB;uW&q7E7$M}qz+Pju4C2#A-G%9|SsPQG1X6b^MJDx~w#F7Q+O zT}EQ~xXm2VPQN7wCtKed5skFbitx0sgRJJ&QfCR6RWG3{Mxh@}fCk(;waHkE8?j5JVC)k$_;Qn9U@!IM zL=#vO_M&f6r#A14c9@wvsqB=T?LyhYo0Z}P1m!-7 zK|A3JDTO=0Rzd}z-5+(ZmN5p~gmB?1BgX=@I(Y|(7}vO@wA$D!U9G>zO!Kx|F2pc? z0^DFQ(CDm^6?$&_WG{qvRb+jo!6f?{p=p+lZxrm&Vk}W%QI(FMSTdU(%f;Jyf3QJ_ zXQju0B-Gj!vlY4=XS#wu3#bxV(Yq12)Rw+pYVZKZhfJFBSZH7T$^$l zK8IaLvod#-c$qZ>N4&)U7bgOaK-0^%aaH z%A5RYqV~`0?GX3mlP?px*{Fdre^3Fr7OZ^m-)wJsSOD8cRgo>NE|K%zkAf$B*k%nI zH71zmD%ni`1o3t2Ei5|Xa7Fk;7!mjHOqDSI@AJ7Ehre~Df>iV$z3=@paQuIKALIT~ zs-z|ikf$ck5veX;GwEUhW8a+~#TupiS5be>slw5)-^Haf>&*vM?g<=seR@|Ci+rey zv}Dx+#+KYhwWNH4^a1@4EG2!?^Dv=}fDL`whe+FKo(9zMed+Pr0v|zx*T+}&Pf*xn zDsBo?D06b{JWuhH5_++RZ&x|Rx$?-k6I^ol0$S%5_ja}WbDsVIpWL@sV#q$ zcj$FCRog!w3qh3JQ2_#n{q?g-)q7+AYoIp`P?u^o>!C*GYZvz9&M7Xa=X2dRnL5@+ z@9?`6&HWaN`g`~Q)rVbc=ASi5SHji5n#;g&Pwv@Yx$N@*5)bPBkQl_xfxA5{!QM|G z4MaJzF{?WKbs+>^A^8r=d*yiAvfOt%lTh`p__ni?PQzjvq<@a3%8+vMc-zM-^R=_jn z831#d;mtCs^;zFlEhs|zfc5idg6$zkT7kwu%mVT%D=Uj?D$}u+3cRxBSqgXxOG3$J zoeK+_=)$Iwm8#bQP9Hx3_`Kn`cRVo@y-7?(2G0_>{0~VMIrbs2G0+0S5@kQE&7Ya3ej}tzra6^@to^CV zf(lzJvSG@8%QXS5GZ2RSx%14=*1!CjItrVnE=l@q>@beiZa-TY54d-UODWT40sQK( zbQS)$bbq#b>76&59Q$p%7!zky4zV2%T zJ@jp@eBTvjl!4*Z^W$Ane1I>=VPDfRk8?W#h0yeKl~^`_wTkS&6?TxjG8S-e>y|uE zQFP4Lnf-r^?& zzj~HoAzMJbO`qp1Q@Lhm;|u%;lBly#m<(dS(?aPTU;u+LTJHj)So1o>Q5pNNIdS-X@+M#k*Kr(t-G9Xk$#RgOW<0-GgRHoEzu&2)4v^v zjmb!QmWc}KkrX4SqGzrTeZDT57($4k5S=;bCBfWX%+VN1k{l9x&BOjgOgM%4> zuIQkOAwUc=fFeALKKoY*8qqNd?B$>6U~HWI^CC93m+>4i|ING`FiC%X%Hv&7p7v71 z?sNXzCfj36iX?GgQJ$W8x9;@rLNi$K@&ig?vI$hswdzjs+~c%3T}!xEp40$6yJ-nP z*Ng*3JAS5bv0Sq)S-(Bmnwn3MemsG;(couxEa$aq88V;q)3ea@nyU1osCF)?9b{UE zQ(}g;d4h-o)JIDZw%tV4<>__`e@u_tNV=is8T#@T=djRZ@COAmk(&~>(;K;vYJS_N6yO^=3^dB zA2$6cBikleA-;Z8XxVyX)J{=v{}GaEsIS1^+rY9XUDbUn?AJ$&%mH>4-6l4){XSEF zt>1xNC5qQCw4@eZ@ioIZRaZ+zr;|0pV;?oMG=I~hc?m&EAgs!0k#+}qKjfAGfmQqG z2eWXzg*7$25L1vK&QAfFci4_L5@(DltVp6G5Yq-!E~a1OtL)LMSRruD^@!Cp9Ebgv z8?6S6;)u{`7=C}9;BF(r)zUh=Z`2!aNd3GG6g)VHN^VoC-ef38IcH7NS>$FeZwGDS zl$*&mL%Iure>Bfkh^;oT`s4B@6_UMfJ=uoc?JTPkZ(ybOyS;v#xHo+R7gnm8xncgT zRNYrJj!ekF2cBf;QvQ2U^ypYmj%l(Ymn@K5k!4ZmVWEj1bV?hcUjHz>@$q@TY7qhjcI?(>slCd9Mhdd3w6e#PAjk^h4j_=^dGTwjsd z)kZstG)BFiFQs#Dy>lM^;@Ts*SZVL0r1D3M<8egSFSVWBf~_l?8snNb!}vi9e6yJ= z97~%{xkX78l^Z~wtn93%PmmJmyLbn7?4u_+(jXp0gaT08T+G&-4(?~rm*we(&G`n| zwUjQV9-K_W1bF^;C2$G-4bECBzt8TQHkDPBE+HB$xnGLyY zyIc~h)1Yp)QOvi#7yU}rs*w0lm2~=TS*7tvbHDOggezqiL<}3oTIP!4d7Q)G&E-4m z6J7;2x64i#I-Kj*>C?DP^PQdyG96OufoU(wK9b%&IQ>@VI5b-Wxnr}$EhF0&M)UP zAvl|R;up=`wyagJ2bm|PB{@IG(-(wz7H~%%`ogk4{faXpPnS2ZRgjsX+xzj+ipRd= zx3F#?y6`k2N2D#J`$sW)nzw$E)%S50J3u~2dfPLcpo725b~;A|;`bo-P0abKSNQ5V z={cWq$uA;7SZ+9$7IgA4`JAlna0x8BmTmH-moC>5$e`VzM*kI?u?Z=o71zYP`->S` z&m$_#Aj#Y%V8(M3)N?X$UZ?pd(jNBQ9#?F!7jlXWWF!uv>|Za<^PhyyHrYr34IoWc zmJat#;FF94d`fFnm%hqpVt@ZI3c;CI^Bk$Wcs{^arc>@3o{n5=>85yznjw?}QW=KQXvZ76&`ymYQj7Ds&@-Hq2t z29!}N>7pSmu>hN|s-dawk_1TvCUWX~is1&n6SEZbVm;}X!CN;;d_`?UWyiRthb)2} zoOt(EM!EQHI)~*G#8T2-1IBGR_amLwj@UVgQ1uD{7mw85k+k_t?b~I2UMOSebJ8)s z8y=vjUMlxu0}OuZ zx|RF_PmfGC9tqhh4{edHVBJ5=@Zn|R)Vi)rd~HK&uO5&6rr8y(!>eV|A()D1>aZJU zdjAqcY+h4+PEM@(RcP?~zGDTHOo_{3<%O&c@L@+194FNz_eD$ULQ7cwtX$F7wAJ2y zAhIbZB7Y`TgV9bCT{#rW6gkV@H>hTQr$e*wUrpV9xx$x* z(IT}gcitg9UOqsc-Tc^x*KwFV?Y1%Tow6Qj+r)5+;qJ_T)_{^V04x`O8f5(laFOu+ z?lsB`zTAa2{?6I}*j<4_N}=lhR61s8i2Bc=zE|5xVQW$WI_HfwSj*>B6?ZX4^ge)P z7i?eKV2Kw~{DRPKm`>uuLeW*KcaM5~1hq!NsY0kg+-j0miYXg;T43333!fj>bS{B~lc~ zS?fO$zs7lH<3xC9nF5-^8ri48kChuWVcQ`URm^JBwH24QrmN>2ZRL!)Y8vu3Ku{ML zsu@5^MB2gwwVoCMG#k(tY&kPPWKX9!s1wx50>CwRFm|G~U0ZYzWe&A@#`c5_=99V=l*|WDGST84G*2!UY3yxJeF>gsNmx%oHg4oLmi5w;mTpS+2fBda zLVV6CKgVMGY%FbO5AxwBBI#GII;8mY1m327AzBD3qscZEyo(!DW^X5nfsp6d5)tb6 z+V=&aXeZjlcJ9ccH2}V#8kJt^JLV{0-*jO@nzqyb^cKWa-Xpp2n`_zWInN|{qA``w zmjgPuUL)Zg0Q_FXICbAAjp^d7_xmd0{Ae;Jm>A)BcKrU5_4{-MA|JNhp1zds7jFS) zVd%H}>uLZF+ITy!@b8UwR}&K0VYcMc;ApFBZpmEhUt2W><+(EX4n%F(<$9$9J8b

    k68N%W-Rm|^7a@*eEd#~d6SM=lBYED?;&ZHZ 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 H=AZsADAc&I diff --git a/docs/user-guide/work-packages/work-package-relations-hierarchies/work-package-add-relation-as-column.png b/docs/user-guide/work-packages/work-package-relations-hierarchies/work-package-add-relation-as-column.png deleted file mode 100644 index 02e993c1967b1076a93bdd4e532bf81090ff5164..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91190 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 u3-BDf1%ki>?tH+c71Q3gKwIf5%zwI4+`L!!) Date: Tue, 10 Dec 2024 12:18:25 +0100 Subject: [PATCH 055/121] Change glossary for 15.1 (#17410) * Change glossary for 15.1 [#58216] Update Glossary with new terms for 15.1 https://community.openproject.org/work_packages/58216 * fix link --- docs/glossary/README.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/glossary/README.md b/docs/glossary/README.md index c23fa716d015..82a03e84c3e5 100644 --- a/docs/glossary/README.md +++ b/docs/glossary/README.md @@ -49,7 +49,7 @@ OpenProject offers Attribute help texts that provide additional information for ### Authentication -In OpenProject, authentication is an important element to guarantee a data protected usage. To adapt these authentication settings, you need to have [admin](#admin) rights. Navigate to your username and select -> Administration -> Authentication. At OpenProject, we use [OAuth 2.0](#oauth) as this is the definitive industry standard for online authorization. +In OpenProject, authentication is an important element to guarantee a data protected usage. To adapt these authentication settings, you need to have [admin](#admin) rights. Navigate to your username and select --> Administration --> Authentication. At OpenProject, we use [OAuth 2.0](#oauth) as this is the definitive industry standard for online authorization. **More information on authentication in OpenProject** @@ -122,9 +122,7 @@ A custom action in OpenProject is defined as customizable buttons which trigger ### Custom field -In OpenProject, a custom field is defined as an additional field which can be added to existing fields. Custom fields can be created for the following resources: [work packages](#work-package), [spent time](#time-and-costs), [versions](#versions), [users](#user), and [groups](#group). - -![Custom fields in OpenProject](glossary-openproject-custom-field.png) +In OpenProject, a custom field is defined as an additional field which can be added to existing fields. Custom fields can be created for the following resources: [work packages](#work-package), [spent time](#time-and-costs), [versions](#versions), [users](#user), and [groups](#group). If you want to add a custom field that refers to a project (or several projects), navigate to Administration --> Projects and create a [project attribute](#project-attribute). **More information on custom fields in OpenProject** @@ -360,6 +358,10 @@ The quick context menu in OpenProject opens when you open a [work package table] ## R +## Relations + +In OpenProject, you can set work packages in relation to each other. Some relation types simply create a visible link between the two work packages. Others have an additional effect, e.g. force one work package to be finished before the other one starts (Predecessor). The simpliest way to add a relation between two existing work packages is to click the +Relation button on the Relations tab of one of the work packages. [Read more about work package relations and hierarchies in our user guide](../user-guide/work-packages/work-package-relations-hierarchies/). + ## Repository A repository is defined as a document or source code management system that allows users to manage files and folders via different version control systems (such as Subversion or Git). [Read more about Repository for source code control](../user-guide/repository/). @@ -485,3 +487,9 @@ A list of work packages is considered a view. The containing work packages in an ### WYSIWYG editor WYSIWYG stands for 'What you see is what you get'. A WYSIWYG editor is a content editing interface that allows users to create and edit content so that it visually resembles the final result. In OpenProject, you can use WYSIWYG editors in [wikis](#wiki), [forums](#forum) and [work package](#work-package) descriptions and comments. + +## Z + +### Zen mode + +In OpenProject, Zen mode allows users to focus on a certain page, as all other menu items and elements are hidden, and the page is displayed in full screen. OpenProject offers zen mode for other modules like work packages, boards, Gantt charts, calendars, and project lists. \ No newline at end of file From 422b321dcafa125059efc4669154fb269628f9a4 Mon Sep 17 00:00:00 2001 From: corinnaguenther <131807161+corinnaguenther@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:21:24 +0100 Subject: [PATCH 056/121] Update Release Notes 15.1 (#17408) * Update Release Notes 15.1 [#58193] 15.1 Release notes prepared https://community.openproject.org/work_packages/58193 * content change * update - specific link to custom field type hierarchy - info about relations update next year --- docs/release-notes/15-1-0/README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/release-notes/15-1-0/README.md b/docs/release-notes/15-1-0/README.md index 4a1f193a647d..ab0fc90c7fe3 100644 --- a/docs/release-notes/15-1-0/README.md +++ b/docs/release-notes/15-1-0/README.md @@ -17,22 +17,22 @@ In these Release Notes, we will give an overview of important feature changes an ### Custom fields of type hierarchy (Enterprise add-on) -Enterprise customers can now use a new type of custom field that allows **multi-level selections**. This makes it easier for users to organize and navigate complex data in structured, multi-level formats within work packages. The new custom fields of the hierarchy type can be added to work packages and then structured into several lower-level values. +Enterprise customers can now use a new type of custom field that allows **multi-level selections in a hierarchial way**. This makes it easier for users to organize and navigate complex data in structured, multi-level formats within work packages. The new custom fields of the hierarchy type can be added to work packages and then structured into several lower-level items. Each custom field of type hierarchy can be given a short name (e.g. B for Berlin). Here's an example of how custom fields of the hierarchy type look like, using the example of a detailed assignment of workspaces: ![Example screenshot of custom fields of type hierarchy, displaying different cities as main offices](openproject-15-1-custom-field-hierarchy.jpg) -[Read all about custom fields in our system admin guide](../../system-admin-guide/custom-fields/). +[Read all about this new type of custom field in our system admin guide](../../system-admin-guide/custom-fields/#hierarchy-custom-field-enterprise-add-on). ### Redesign of the Relations tab in work packages -The Relations tab in work packages has been completely redesigned using Primer design system, including a **new dropdown menu that allows you to directly choose the type of relation**, e.g. if the related work package is a successor and necessarily needs to start after the selected one finishes. +The Relations tab in work packages has been completely redesigned using Primer design system, including a **new dropdown menu that allows you to directly choose the type of relation**, e.g. if the related work package is a successor (earlier called 'Follows') and necessarily needs to start after the selected one finishes. Scroll down to see more types of relations. Additionally, you can now add a description to add further information about the relation. Please note that the description will be displayed on both work packages, below the related other work package. > [!NOTE] -> Important information: With this redesign, **you will no longer be able to create new work packages directly on the Relations tab**. Please tell us if you were using this feature a lot. If it will be missed by many users, we will find a way to bring it back. +> Important information: With this redesign, **you will no longer be able to create new work packages directly on the Relations tab**. We are already working on a solution and plan to release this feature early next year. Thank you for your understanding. ![Screenshot showing the new Relations tab in a work package](openproject-15-1-relations.png) @@ -40,9 +40,9 @@ Additionally, you can now add a description to add further information about the ### Redesign of the Meetings index page -The index page of the Meetings module has been redesigned with Primer as well, making it easier to read and have a more modern look. You see your list of meetings in some kind of table view, with the columns being: Title, Date and time, Duration, and Location. +The index page of the Meetings module has been redesigned with Primer as well, making it easier to read and adding a more modern look. You see your list of meetings in column view, with the columns being: Title, Date and time, Duration, and Location. -The + Meeting button in the top right corner now offers a dropdown menu where you can directly choose whether you want to add a dynamic or classic meeting. +The + Meeting button in the top right corner now offers a dropdown menu where you can directly choose whether you want to add a dynamic or a classic meeting. Here's an example screenshot of the redesigned Meetings index page: @@ -52,7 +52,7 @@ Here's an example screenshot of the redesigned Meetings index page: ### Manual page breaks in PDF work package exports -With our work package export feature, people can generate good-looking PDFs. Sometimes, however, the page break comes at an inconvenient place. With version 15.1, users can now force a manual page break in the work package description. This ensures, for example, that a signature can always be inserted on the correct page. +With our work package export feature, people can generate good-looking PDFs. Sometimes, however, the page break comes at an inconvenient place. With version 15.1, users can now force a manual page break in the work package description. This ensures, for example, that a signature can always be inserted on the correct page. Please note that logically, manual page breaks only work if the work package description is part of the PDF export – and not in the PDF export of a work package table if you choose the export type 'Table'. ![Example of a work package description with an employee contract and inserted page breaks](openproject-15-1-page-break-contract-highlighted.png) @@ -60,7 +60,7 @@ With our work package export feature, people can generate good-looking PDFs. Som ### Zen mode for project lists -Zen mode allows users to focus on a certain page, as all other menu items and elements are hidden, and the page is displayed in full screen. OpenProject already offers zen mode for other modules like Work packages, Boards, Gantt charts or Calendar – and with version 15.1 also for project lists. +Zen mode allows users to focus on a certain page, as all other menu items and elements are hidden, and the page is displayed in full screen. OpenProject already offers zen mode for other modules like Work packages, Boards, Gantt charts or Calendars – and with version 15.1 also for project lists. Here is how zen mode for project lists looks like: @@ -74,7 +74,7 @@ Here is how zen mode for project lists looks like: Administrators of automated deployments can now choose to skip the automatically integrated creation of an admin user. This is useful if you have set up an LDAP or SSO integration – such as those used for openDesk environments – and you want to prevent the admin user from logging in. Administrators no longer have to manually disable this automatically created admin user and thus run the risk of forgetting to do so, which would pose a security risk. -Read more about [seeding through environment for OpenProject configuration in our Installation & operations guide](../../installation-and-operations/configuration/#seeding-through-environment) +Read more about [seeding through environment for OpenProject configuration in our Installation & operations guide](../../installation-and-operations/configuration/#seeding-through-environment). @@ -122,13 +122,13 @@ Read more about [seeding through environment for OpenProject configuration in ou ## Contributions -A very special thank you goes to our sponsors of this release: Deutsche Bahn for sponsoring custom fields of type hierarchy, and City of Cologne for sponsoring custom fields of type hierarchy as well as zen mode for project lists. +A very special thank you goes to Deutsche Bahn and City of Cologne for sponsoring parts of this release. Your support, alongside the efforts of our amazing Community, helps drive these innovations. Also, a big thanks to our Community members for reporting bugs and helping us identify and provide fixes. Special thanks for reporting and finding bugs go to Bill Bai, Sam Yelman, Knight Chang, Gábor Alexovics, Gregor Buergisser, Andrey Dermeyko, Various Interactive, Clayton Belcher, Александр Татаринцев, and Keno Krewer. Last but not least, we are very grateful for our very engaged translation contributors on Crowdin, who translated quite a few OpenProject strings! This release we would like to highlight -- [José Helbert Pina](https://crowdin.com/profile/GZTranslations), for a great number of translations into Portuguese. - [Alexander Aleschenko](https://crowdin.com/profile/top4ek), for a great number of translations into Russian. -- [Adam Siemienski](https://crowdin.com/profile/siemienas), for a great number of translations into Polish. +- [José Helbert Pina](https://crowdin.com/profile/GZTranslations), for a great number of translations into Portuguese. +- [BigSeung](https://crowdin.com/profile/BigSeung), for a great number of translations into Korean. -Would you like to help out with translations yourself? Then take a look at our [translation guide](../../contributions-guide/translate-openproject/) and find out exactly how you can contribute. It is very much appreciated! +Would you like to help out with translations yourself? Then take a look at our [translation guide](../../contributions-guide/translate-openproject/) and find out exactly how you can contribute. It is very much appreciated! \ No newline at end of file From 8a1715f01d6d49e21bf6c80bb4f5494b1fd3470c Mon Sep 17 00:00:00 2001 From: Andrej Sandorf <77627197+as-op@users.noreply.github.com> Date: Tue, 10 Dec 2024 15:51:44 +0100 Subject: [PATCH 057/121] Update modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb Co-authored-by: Klaus Zanders --- .../app/workers/cost_query/pdf/timesheet_generator.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index b3a6c67f52c7..23effda5eb69 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -47,9 +47,7 @@ def cover_page_heading end def cover_page_dates - dates_range = all_entries.group_by(&:spent_on).sort - start_date = dates_range.first&.first - end_date = dates_range.last&.first + start_date, end_date = all_entries.map(&:spent_on).minmax "#{format_date(start_date)} - #{format_date(end_date)}" if start_date && end_date end From bb6089694daa526e26caa1b93cd53f73a1bbf206 Mon Sep 17 00:00:00 2001 From: as-op Date: Tue, 10 Dec 2024 15:55:16 +0100 Subject: [PATCH 058/121] better naming; closes https://github.com/opf/openproject/pull/17316#discussion_r1878185170 --- .../app/services/cost_query/schedule_export_service.rb | 2 +- .../cost_query/pdf/{export_job.rb => export_timesheet_job.rb} | 2 +- .../pdf/{export_job_spec.rb => export_timesheet_job_spec.rb} | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename modules/reporting/app/workers/cost_query/pdf/{export_job.rb => export_timesheet_job.rb} (93%) rename modules/reporting/spec/workers/cost_query/pdf/{export_job_spec.rb => export_timesheet_job_spec.rb} (98%) diff --git a/modules/reporting/app/services/cost_query/schedule_export_service.rb b/modules/reporting/app/services/cost_query/schedule_export_service.rb index 2042dcdd7723..7d2f0a336535 100644 --- a/modules/reporting/app/services/cost_query/schedule_export_service.rb +++ b/modules/reporting/app/services/cost_query/schedule_export_service.rb @@ -43,7 +43,7 @@ def call(format:, query_id:, query_name:, filter_params:, project:, cost_types:) private def schedule_export(format, export_storage, query_id, query_name, filter_params, project, cost_types) - job = format == :pdf ? ::CostQuery::PDF::ExportJob : ::CostQuery::XLS::ExportJob + job = format == :pdf ? ::CostQuery::PDF::ExportTimesheetJob : ::CostQuery::XLS::ExportJob job.perform_later(export: export_storage, user:, mime_type: format, diff --git a/modules/reporting/app/workers/cost_query/pdf/export_job.rb b/modules/reporting/app/workers/cost_query/pdf/export_timesheet_job.rb similarity index 93% rename from modules/reporting/app/workers/cost_query/pdf/export_job.rb rename to modules/reporting/app/workers/cost_query/pdf/export_timesheet_job.rb index 6aa14f64f8cf..058cb2061369 100644 --- a/modules/reporting/app/workers/cost_query/pdf/export_job.rb +++ b/modules/reporting/app/workers/cost_query/pdf/export_timesheet_job.rb @@ -1,6 +1,6 @@ require "active_storage/filename" -class CostQuery::PDF::ExportJob < Exports::ExportJob +class CostQuery::PDF::ExportTimesheetJob < Exports::ExportJob self.model = ::CostQuery def project diff --git a/modules/reporting/spec/workers/cost_query/pdf/export_job_spec.rb b/modules/reporting/spec/workers/cost_query/pdf/export_timesheet_job_spec.rb similarity index 98% rename from modules/reporting/spec/workers/cost_query/pdf/export_job_spec.rb rename to modules/reporting/spec/workers/cost_query/pdf/export_timesheet_job_spec.rb index f18a56bf2c85..3bafe2f2f073 100644 --- a/modules/reporting/spec/workers/cost_query/pdf/export_job_spec.rb +++ b/modules/reporting/spec/workers/cost_query/pdf/export_timesheet_job_spec.rb @@ -30,7 +30,7 @@ require "spec_helper" -RSpec.describe CostQuery::PDF::ExportJob do +RSpec.describe CostQuery::PDF::ExportTimesheetJob do let(:user) { build_stubbed(:user) } let(:project) { build_stubbed(:project) } From 3cd924a3325afcafba23d946c2d343e9629f56a9 Mon Sep 17 00:00:00 2001 From: as-op Date: Tue, 10 Dec 2024 16:06:47 +0100 Subject: [PATCH 059/121] better attribute name retrieval; closes https://github.com/opf/openproject/pull/17316#discussion_r1878200777 --- .../app/workers/cost_query/pdf/timesheet_generator.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb index 23effda5eb69..647daa18814b 100644 --- a/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb +++ b/modules/reporting/app/workers/cost_query/pdf/timesheet_generator.rb @@ -155,11 +155,11 @@ def build_table_row_comment(entry) def table_header_columns [ - { content: I18n.t(:"activerecord.attributes.time_entry.spent_on"), rowspan: 1 }, + { content: TimeEntry.human_attribute_name(:spent_on), rowspan: 1 }, I18n.t(:"activerecord.models.work_package"), with_times_column? ? I18n.t(:"export.timesheet.time") : nil, - I18n.t(:"activerecord.attributes.time_entry.hours"), - I18n.t(:"activerecord.attributes.time_entry.activity") + TimeEntry.human_attribute_name(:hours), + TimeEntry.human_attribute_name(:activity) ].compact end From 10b42f98d546809409e225a2d3a13583f7d94b16 Mon Sep 17 00:00:00 2001 From: Andrej Sandorf <77627197+as-op@users.noreply.github.com> Date: Tue, 10 Dec 2024 16:07:36 +0100 Subject: [PATCH 060/121] Update frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts Co-authored-by: Klaus Zanders --- .../dynamic/costs/export.controller.ts | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts b/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts index ba839789d487..428065fe1a9f 100644 --- a/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts +++ b/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts @@ -1,3 +1,34 @@ +/* + * -- 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. + * ++ + */ + + import { Controller } from '@hotwired/stimulus'; import * as Turbo from '@hotwired/turbo'; import { HttpErrorResponse } from '@angular/common/http'; From 7ae831decabf5982931b76665e109b3fea8f93e8 Mon Sep 17 00:00:00 2001 From: Andrej Sandorf <77627197+as-op@users.noreply.github.com> Date: Tue, 10 Dec 2024 16:11:30 +0100 Subject: [PATCH 061/121] Update modules/reporting/app/controllers/cost_reports_controller.rb Co-authored-by: Klaus Zanders --- modules/reporting/app/controllers/cost_reports_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/reporting/app/controllers/cost_reports_controller.rb b/modules/reporting/app/controllers/cost_reports_controller.rb index d66a649596ac..80cefdf73c98 100644 --- a/modules/reporting/app/controllers/cost_reports_controller.rb +++ b/modules/reporting/app/controllers/cost_reports_controller.rb @@ -594,6 +594,6 @@ def find_optional_report(query = "1=0") end def session_name - report_engine.name.underscore.to_sym + @session_name ||= report_engine.name.underscore.to_sym end end From 2904bbcda44ca8cfb7ac3febc616b26b0ea09017 Mon Sep 17 00:00:00 2001 From: as-op Date: Tue, 10 Dec 2024 16:46:58 +0100 Subject: [PATCH 062/121] obey eslint --- .../src/stimulus/controllers/dynamic/costs/export.controller.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts b/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts index 428065fe1a9f..aa744db75469 100644 --- a/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts +++ b/frontend/src/stimulus/controllers/dynamic/costs/export.controller.ts @@ -28,7 +28,6 @@ * ++ */ - import { Controller } from '@hotwired/stimulus'; import * as Turbo from '@hotwired/turbo'; import { HttpErrorResponse } from '@angular/common/http'; From 8a9678bd4464ecbc556543735e7b2c1f06422719 Mon Sep 17 00:00:00 2001 From: Jan Sandbrink Date: Tue, 10 Dec 2024 09:32:00 +0100 Subject: [PATCH 063/121] Add docker-compose.yml for nextcloud development This is similar to what we already have for Keycloak and GitLab in providing a minimal docker-compose file for integration work. --- docker/dev/nextcloud/README.md | 15 +++++++++++ docker/dev/nextcloud/docker-compose.yml | 35 +++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 docker/dev/nextcloud/README.md create mode 100644 docker/dev/nextcloud/docker-compose.yml diff --git a/docker/dev/nextcloud/README.md b/docker/dev/nextcloud/README.md new file mode 100644 index 000000000000..98a046d12e0c --- /dev/null +++ b/docker/dev/nextcloud/README.md @@ -0,0 +1,15 @@ +A minimal setup to run a Nextcloud inside the TLS-enabled docker development stack. + +# First installation steps + +1. Allow accessing OP through `openproject.local`: + * `docker compose exec --user www-data nextcloud php occ config:system:set allow_local_remote_servers --value 1` +2. Import Dev CA cert into Nextcloud's own certificate store: + * `docker compose cp /path/to/your/OpenProject_Development_Root_CA.crt nextcloud:/tmp/root.crt` + * `docker compose exec nextcloud chown www-data /tmp/root.crt` + * `docker compose exec --user www-data nextcloud php occ security:certificates:import /tmp/root.crt` +3. Following [docs](https://docs.nextcloud.com/server/30/admin_manual/configuration_server/reverse_proxy_configuration.html#defining-trusted-proxies) configure Traefik as trusted proxy + * e.g. add `'trusted_proxies' => ['172.0.0.0/8'],` to `config/config.php` for a pretty broad allowance for most docker services (verify that your `gateway` network uses IPs in the given address range) +4. Download/Activate Nextcloud plugins: + * `integration_openproject` + * `groupfolders` (dependency for certain OP functions) diff --git a/docker/dev/nextcloud/docker-compose.yml b/docker/dev/nextcloud/docker-compose.yml new file mode 100644 index 000000000000..9db2fa4ef1a2 --- /dev/null +++ b/docker/dev/nextcloud/docker-compose.yml @@ -0,0 +1,35 @@ +services: + nextcloud: + image: nextcloud:stable + restart: unless-stopped + networks: + - gateway + volumes: + - nextcloud:/var/www/html + # If you want to use a local version of a plugin, mount a local folder + # more detailed instructions available at https://github.com/nextcloud/integration_openproject/blob/master/docs/setup_via_docker.md + # - ../nextcloud_apps:/var/www/html/custom_apps + labels: + - "traefik.enable=true" + - "traefik.http.routers.nextcloud.rule=Host(`nextcloud.local`)" + - "traefik.http.routers.nextcloud.entrypoints=websecure" + + cron: + image: nextcloud:stable + restart: unless-stopped + volumes: + - nextcloud:/var/www/html + # If you want to use a local version of a plugin, mount a local folder + # more detailed instructions available at https://github.com/nextcloud/integration_openproject/blob/master/docs/setup_via_docker.md + # - ../nextcloud_apps:/var/www/html/custom_apps + networks: + - gateway + entrypoint: /cron.sh + +networks: + gateway: + external: true + name: gateway + +volumes: + nextcloud: From e711b17bed681fd100303e63ff80af9a6de0e159 Mon Sep 17 00:00:00 2001 From: Bruno Pagno Date: Mon, 9 Dec 2024 17:34:54 +0100 Subject: [PATCH 064/121] implement API for creating folt statusders --- .../storages/create_folder_service.rb | 77 ++++++++++ .../v3/storage_files/storage_folders_api.rb | 66 ++++++++ .../lib/api/v3/storages/storages_api.rb | 1 + .../lib/open_project/storages/engine.rb | 4 + .../v3/storages/storage_folders_api_spec.rb | 144 ++++++++++++++++++ .../storages/create_folder_service_spec.rb | 112 ++++++++++++++ 6 files changed, 404 insertions(+) create mode 100644 modules/storages/app/services/storages/create_folder_service.rb create mode 100644 modules/storages/lib/api/v3/storage_files/storage_folders_api.rb create mode 100644 modules/storages/spec/requests/api/v3/storages/storage_folders_api_spec.rb create mode 100644 modules/storages/spec/services/storages/create_folder_service_spec.rb diff --git a/modules/storages/app/services/storages/create_folder_service.rb b/modules/storages/app/services/storages/create_folder_service.rb new file mode 100644 index 000000000000..8c9f2ed1d352 --- /dev/null +++ b/modules/storages/app/services/storages/create_folder_service.rb @@ -0,0 +1,77 @@ +# frozen_string_literal: true + +#-- 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. +#++ + +module Storages + class CreateFolderService < BaseService + using Peripherals::ServiceResultRefinements + + def self.call(storage:, user:, name:, parent_id:) + new.call(storage:, user:, name:, parent_id:) + end + + def call(storage:, user:, name:, parent_id:) + auth_strategy = Peripherals::Registry.resolve("#{storage}.authentication.user_bound").call(user: user) + + Peripherals::Registry + .resolve("#{storage}.commands.create_folder") + .call( + storage:, + auth_strategy:, + folder_name: name, + parent_location: parent_path(parent_id, storage, user) + ) + end + + private + + def parent_path(parent_id, storage, user) + case storage.short_provider_type + when "nextcloud" + location_from_file_info(parent_id, storage, user) + when "one_drive" + Peripherals::ParentFolder.new(parent_id) + else + raise "Unknown Storage Type" + end + end + + def location_from_file_info(parent_id, storage, user) + StorageFileService + .call(storage: storage, user: user, file_id: parent_id) + .match( + on_success: lambda { |folder_info| + path = URI.decode_uri_component(folder_info.location) + Peripherals::ParentFolder.new(path) + }, + on_failure: ->(error) { raise error } + ) + end + end +end diff --git a/modules/storages/lib/api/v3/storage_files/storage_folders_api.rb b/modules/storages/lib/api/v3/storage_files/storage_folders_api.rb new file mode 100644 index 000000000000..9766923a5e05 --- /dev/null +++ b/modules/storages/lib/api/v3/storage_files/storage_folders_api.rb @@ -0,0 +1,66 @@ +# frozen_string_literal: true + +#-- 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. +#++ + +module API + module V3 + module StorageFiles + class StorageFoldersAPI < ::API::OpenProjectAPI + using ::Storages::Peripherals::ServiceResultRefinements + + helpers ::Storages::Peripherals::StorageErrorHelper + + resources :folders do + params do + requires :name, type: String, desc: "Folder name" + requires :parent_id, type: String, desc: "Id of the parent folder" + end + + post do + ::Storages::CreateFolderService.call( + storage: @storage, + user: current_user, + name: params["name"], + parent_id: params["parent_id"] + ).match( + on_success: lambda { |storage_folder| + API::V3::StorageFiles::StorageFileRepresenter.new( + storage_folder, + @storage, + current_user: + ) + }, + on_failure: ->(error) { raise_error(error) } + ) + end + end + end + end + end +end diff --git a/modules/storages/lib/api/v3/storages/storages_api.rb b/modules/storages/lib/api/v3/storages/storages_api.rb index b5dedbcd20e7..f77b67fa4d24 100644 --- a/modules/storages/lib/api/v3/storages/storages_api.rb +++ b/modules/storages/lib/api/v3/storages/storages_api.rb @@ -50,6 +50,7 @@ class API::V3::Storages::StoragesAPI < API::OpenProjectAPI mount API::V3::StorageFiles::StorageFilesAPI mount API::V3::OAuthClient::OAuthClientCredentialsAPI mount API::V3::Storages::StorageOpenAPI + mount API::V3::StorageFiles::StorageFoldersAPI end end end diff --git a/modules/storages/lib/open_project/storages/engine.rb b/modules/storages/lib/open_project/storages/engine.rb index 1a40a918da0b..d60979349731 100644 --- a/modules/storages/lib/open_project/storages/engine.rb +++ b/modules/storages/lib/open_project/storages/engine.rb @@ -312,6 +312,10 @@ def self.external_file_permissions "#{storage_files(storage_id)}/#{file_id}" end + add_api_path :storage_folders do |storage_id| + "#{storage(storage_id)}/folders" + end + add_api_path :prepare_upload do |storage_id| "#{storage(storage_id)}/files/prepare_upload" end diff --git a/modules/storages/spec/requests/api/v3/storages/storage_folders_api_spec.rb b/modules/storages/spec/requests/api/v3/storages/storage_folders_api_spec.rb new file mode 100644 index 000000000000..fddfa2a9bdcb --- /dev/null +++ b/modules/storages/spec/requests/api/v3/storages/storage_folders_api_spec.rb @@ -0,0 +1,144 @@ +# frozen_string_literal: true + +#-- 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. +#++ + +require "spec_helper" +require_module_spec_helper + +RSpec.describe "API v3 storage folders", :webmock, content_type: :json do + include API::V3::Utilities::PathHelper + include StorageServerHelpers + + let(:permissions) { %i(view_work_packages view_file_links manage_file_links) } + let(:project) { create(:project) } + + let(:current_user) do + create(:user, member_with_permissions: { project => permissions }) + end + + let(:oauth_application) { create(:oauth_application) } + let(:storage) { create(:nextcloud_storage_configured, creator: current_user, oauth_application:) } + let(:oauth_token) { create(:oauth_client_token, user: current_user, oauth_client: storage.oauth_client) } + let(:project_storage) { create(:project_storage, project:, storage:) } + + subject(:last_response) { post(path, body) } + + before do + oauth_application + project_storage + login_as current_user + end + + describe "POST /api/v3/storages/:storage_id/folders" do + let(:path) { api_v3_paths.storage_folders(storage.id) } + let(:body) { { parent_id: file_info.id, name: folder_name }.to_json } + let(:folder_name) { "TestFolder" } + + let(:response) do + Storages::StorageFile.new( + id: 1, + name: folder_name, + size: 128, + mime_type: "application/x-op-directory", + created_at: DateTime.now, + last_modified_at: DateTime.now, + created_by_name: "Obi-Wan Kenobi", + last_modified_by_name: "Obi-Wan Kenobi", + location: "/", + permissions: %i[readable] + ) + end + + let(:file_info) do + Storages::StorageFileInfo.new( + status: "OK", + status_code: 200, + id: SecureRandom.hex, + name: "/", + location: "/" + ) + end + + before do + file_info_mock = class_double(Storages::Peripherals::StorageInteraction::Nextcloud::FileInfoQuery) + allow(file_info_mock).to receive(:call).with( + storage: storage, + auth_strategy: instance_of(Storages::Peripherals::StorageInteraction::AuthenticationStrategies::Strategy), + file_id: file_info.id + ).and_return(ServiceResult.success(result: file_info)) + Storages::Peripherals::Registry.stub("nextcloud.queries.file_info", file_info_mock) + end + + context "with successful response" do + subject { last_response.body } + + before do + create_folder_mock = class_double(Storages::Peripherals::StorageInteraction::Nextcloud::CreateFolderCommand) + allow(create_folder_mock).to receive(:call).with( + storage: storage, + auth_strategy: instance_of(Storages::Peripherals::StorageInteraction::AuthenticationStrategies::Strategy), + folder_name:, + parent_location: instance_of(Storages::Peripherals::ParentFolder) + ).and_return(ServiceResult.success(result: response)) + Storages::Peripherals::Registry.stub("nextcloud.commands.create_folder", create_folder_mock) + end + + it "responds with appropriate JSON" do + expect(subject).to be_json_eql(response.id.to_json).at_path("id") + expect(subject).to be_json_eql(response.name.to_json).at_path("name") + expect(subject).to be_json_eql(response.permissions.to_json).at_path("permissions") + end + end + + context "with query failed" do + before do + create_folder_mock = class_double(Storages::Peripherals::StorageInteraction::Nextcloud::CreateFolderCommand) + allow(create_folder_mock).to receive(:call).with( + storage: storage, + auth_strategy: instance_of(Storages::Peripherals::StorageInteraction::AuthenticationStrategies::Strategy), + folder_name:, + parent_location: instance_of(Storages::Peripherals::ParentFolder) + ).and_return(ServiceResult.failure(result: error, errors: Storages::StorageError.new(code: error))) + Storages::Peripherals::Registry.stub("nextcloud.commands.create_folder", create_folder_mock) + end + + context "with authorization failure" do + let(:error) { :unauthorized } + + it { expect(last_response).to have_http_status(:internal_server_error) } + end + + context "with internal error" do + let(:error) { :error } + + it { expect(last_response).to have_http_status(:internal_server_error) } + end + end + end +end diff --git a/modules/storages/spec/services/storages/create_folder_service_spec.rb b/modules/storages/spec/services/storages/create_folder_service_spec.rb new file mode 100644 index 000000000000..d4c6a96ce2d0 --- /dev/null +++ b/modules/storages/spec/services/storages/create_folder_service_spec.rb @@ -0,0 +1,112 @@ +# frozen_string_literal: true + +#-- 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. +#++ + +require "spec_helper" +require_module_spec_helper + +RSpec.describe Storages::CreateFolderService do + subject(:service) { described_class.call(storage:, user:, name:, parent_id:) } + + let(:user) { create(:admin) } + let(:name) { "TestFolderName" } + + context "when storage is nextcloud" do + let(:storage) { create(:nextcloud_storage) } + let(:parent_id) { file_info.id } + + let(:file_info) do + Storages::StorageFileInfo.new( + status: "OK", + status_code: 200, + id: SecureRandom.hex, + name: "/", + location: "/Path/To/Parent/Next" + ) + end + + let(:create_folder_command) { class_double(Storages::Peripherals::StorageInteraction::Nextcloud::CreateFolderCommand) } + + before do + file_info_mock = class_double(Storages::Peripherals::StorageInteraction::Nextcloud::FileInfoQuery) + allow(file_info_mock).to receive(:call).with( + storage: storage, + auth_strategy: instance_of(Storages::Peripherals::StorageInteraction::AuthenticationStrategies::Strategy), + file_id: file_info.id + ).and_return(ServiceResult.success(result: file_info)) + Storages::Peripherals::Registry.stub("nextcloud.queries.file_info", file_info_mock) + + allow(create_folder_command).to receive(:call).and_return(ServiceResult.success) + Storages::Peripherals::Registry.stub("nextcloud.commands.create_folder", create_folder_command) + end + + it "calls the appropriate command with the expected parameters" do + service + + expect(create_folder_command).to have_received(:call).with( + storage:, + auth_strategy: instance_of(Storages::Peripherals::StorageInteraction::AuthenticationStrategies::Strategy), + folder_name: name, + parent_location: Storages::Peripherals::ParentFolder.new(file_info.location) + ).once + end + end + + context "when storage is one_drive" do + let(:storage) { create(:one_drive_storage) } + let(:parent_id) { file_info.id } + + let(:file_info) do + Storages::StorageFileInfo.new( + status: "OK", + status_code: 200, + id: "/Path/To/Parent/One", + name: "/" + ) + end + + let(:create_folder_command) { class_double(Storages::Peripherals::StorageInteraction::Nextcloud::CreateFolderCommand) } + + before do + allow(create_folder_command).to receive(:call).and_return(ServiceResult.success) + Storages::Peripherals::Registry.stub("one_drive.commands.create_folder", create_folder_command) + end + + it "calls the appropriate command with the expected parameters" do + service + + expect(create_folder_command).to have_received(:call).with( + storage:, + auth_strategy: instance_of(Storages::Peripherals::StorageInteraction::AuthenticationStrategies::Strategy), + folder_name: name, + parent_location: Storages::Peripherals::ParentFolder.new(file_info.id) + ).once + end + end +end From a8537f34484e940f7f7e1651c6d4776b2644d4a2 Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Tue, 10 Dec 2024 21:29:27 +0300 Subject: [PATCH 065/121] add notification center sidemenu feature specs --- .../notification_center_sidemenu_spec.rb | 53 +++++++++++++------ 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/spec/features/notifications/notification_center/notification_center_sidemenu_spec.rb b/spec/features/notifications/notification_center/notification_center_sidemenu_spec.rb index faf5a6209aa5..c2cd4a832484 100644 --- a/spec/features/notifications/notification_center/notification_center_sidemenu_spec.rb +++ b/spec/features/notifications/notification_center/notification_center_sidemenu_spec.rb @@ -24,6 +24,7 @@ shared_let(:work_package4) { create(:work_package, project: project3, author: other_user) } shared_let(:work_package5) { create(:work_package, :is_milestone, project: project3, author: other_user) } shared_let(:work_package6) { create(:work_package, :is_milestone, project: project3, author: other_user) } + shared_let(:work_package7) { create(:work_package, project: project3, author: other_user) } let(:notification_watched) do create(:notification, @@ -67,9 +68,19 @@ reason: :shared) end + let(:notification_reminder) do + reminder = create(:reminder, remindable: work_package7, creator: other_user, note: "This is an important reminder") + notification = create(:notification, + recipient:, + resource: work_package7, + reason: :reminder) + create(:reminder_notification, reminder:, notification:) + notification + end + let(:notifications) do [notification_watched, notification_assigned, notification_responsible, notification_mentioned, notification_date, - notification_shared] + notification_shared, notification_reminder] end let(:center) { Pages::Notifications::Center.new } @@ -99,6 +110,7 @@ side_menu.expect_item_with_no_count "Watcher" side_menu.expect_item_with_no_count "Date alert" side_menu.expect_item_with_no_count "Shared" + side_menu.expect_item_with_no_count "Reminder" end end @@ -106,35 +118,37 @@ side_menu.expect_open # Expect standard filters - side_menu.expect_item_with_count "Inbox", 6 + side_menu.expect_item_with_count "Inbox", 7 side_menu.expect_item_with_count "Assignee", 1 side_menu.expect_item_with_count "Mentioned", 1 side_menu.expect_item_with_count "Accountable", 1 side_menu.expect_item_with_count "Watcher", 1 side_menu.expect_item_with_count "Date alert", 1 side_menu.expect_item_with_count "Shared", 1 + side_menu.expect_item_with_count "Reminder", 1 # Expect project filters side_menu.expect_item_with_count project.name, 1 side_menu.expect_item_with_count project2.name, 1 - side_menu.expect_item_with_count "... #{project3.name}", 4 + side_menu.expect_item_with_count "... #{project3.name}", 5 # Reading a notification... center.mark_notification_as_read notification_watched # ... will change the filter counts - side_menu.expect_item_with_count "Inbox", 5 + side_menu.expect_item_with_count "Inbox", 6 side_menu.expect_item_with_count "Assignee", 1 side_menu.expect_item_with_count "Mentioned", 1 side_menu.expect_item_with_count "Accountable", 1 side_menu.expect_item_with_count "Date alert", 1 side_menu.expect_item_with_count "Shared", 1 + side_menu.expect_item_with_count "Reminder", 1 side_menu.expect_item_with_no_count "Watcher" # ... and show only those projects with a notification side_menu.expect_no_item project.name side_menu.expect_item_with_count project2.name, 1 - side_menu.expect_item_with_count "... #{project3.name}", 4 + side_menu.expect_item_with_count "... #{project3.name}", 5 # Empty filter sets have a separate message side_menu.click_item "Watcher" @@ -152,6 +166,7 @@ side_menu.expect_item_with_no_count "Watcher" side_menu.expect_item_with_no_count "Date alert" side_menu.expect_item_with_no_count "Shared" + side_menu.expect_item_with_no_count "Reminder" side_menu.expect_no_item project.name side_menu.expect_no_item project2.name @@ -160,66 +175,74 @@ it "updates the content when a filter is clicked" do # All notifications are shown - center.expect_work_package_item *notifications + center.expect_work_package_item(*notifications) # Filter for "Watcher" side_menu.click_item "Watcher" side_menu.finished_loading center.expect_work_package_item notification_watched center.expect_no_item notification_assigned, notification_responsible, notification_mentioned, notification_date, - notification_shared + notification_shared, notification_reminder # Filter for "Assignee" side_menu.click_item "Assignee" side_menu.finished_loading center.expect_work_package_item notification_assigned center.expect_no_item notification_watched, notification_responsible, notification_mentioned, notification_date, - notification_shared + notification_shared, notification_reminder # Filter for "Accountable" side_menu.click_item "Accountable" side_menu.finished_loading center.expect_work_package_item notification_responsible center.expect_no_item notification_watched, notification_assigned, notification_mentioned, notification_date, - notification_shared + notification_shared, notification_reminder # Filter for "Mentioned" side_menu.click_item "Mentioned" side_menu.finished_loading center.expect_work_package_item notification_mentioned center.expect_no_item notification_watched, notification_assigned, notification_responsible, notification_date, - notification_shared + notification_shared, notification_reminder # Filter for "Date alert" side_menu.click_item "Date alert" side_menu.finished_loading center.expect_work_package_item notification_date center.expect_no_item notification_watched, notification_assigned, notification_responsible, notification_mentioned, - notification_shared + notification_shared, notification_reminder # Filter for "Shared" side_menu.click_item "Shared" side_menu.finished_loading center.expect_work_package_item notification_shared center.expect_no_item notification_watched, notification_assigned, notification_responsible, notification_mentioned, - notification_date + notification_date, notification_reminder + + # Filter for "Reminder" + side_menu.click_item "Reminder" + side_menu.finished_loading + center.expect_work_package_item notification_reminder + center.expect_no_item notification_watched, notification_assigned, notification_responsible, notification_mentioned, + notification_date, notification_shared # Filter for project1 side_menu.click_item project.name side_menu.finished_loading center.expect_work_package_item notification_watched center.expect_no_item notification_assigned, notification_responsible, notification_mentioned, notification_date, - notification_shared + notification_shared, notification_reminder # Filter for project3 side_menu.click_item "... #{project3.name}" side_menu.finished_loading - center.expect_work_package_item notification_responsible, notification_mentioned, notification_date, notification_shared + center.expect_work_package_item notification_responsible, notification_mentioned, notification_date, notification_shared, + notification_reminder center.expect_no_item notification_watched, notification_assigned # Reset by clicking on the Inbox side_menu.click_item "Inbox" side_menu.finished_loading - center.expect_work_package_item *notifications + center.expect_work_package_item(*notifications) end end From 3f84773748b1be7c9b3dcdbf810a4785730733bc Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Tue, 10 Dec 2024 22:31:51 +0300 Subject: [PATCH 066/121] Implementation/59967 remove reminder notifications from aggregation and have them as standalone (#17426) https://community.openproject.org/work_packages/59967 --- .../center/state/ian-center.service.ts | 23 ++++++++++++++++++- .../notification_center_reminder_spec.rb | 20 ++++++++++------ 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/frontend/src/app/features/in-app-notifications/center/state/ian-center.service.ts b/frontend/src/app/features/in-app-notifications/center/state/ian-center.service.ts index 0979826f6503..9c41f1a46587 100644 --- a/frontend/src/app/features/in-app-notifications/center/state/ian-center.service.ts +++ b/frontend/src/app/features/in-app-notifications/center/state/ian-center.service.ts @@ -111,7 +111,28 @@ export class IanCenterService extends UntilDestroyedMixin { notifications$ = this .aggregatedCenterNotifications$ .pipe( - map((items) => Object.values(items)), + map((items) => { + return Object.values(items).reduce((acc, workPackageNotificationGroup) => { + const { reminders, others } = workPackageNotificationGroup.reduce((result, notification) => { + if (notification.reason === 'reminder') { + result.reminders.push(notification); + } else { + result.others.push(notification); + } + return result; + }, { reminders: [] as INotification[], others: [] as INotification[] }); + + // Extract reminders into standalone groups so they can be displayed individually + if (reminders.length > 0) { + reminders.forEach((reminder) => acc.push([reminder])); + } + if (others.length > 0) { + acc.push(others); + } + + return acc; + }, [] as INotification[][]); + }), distinctUntilChanged(), ); diff --git a/spec/features/notifications/notification_center/notification_center_reminder_spec.rb b/spec/features/notifications/notification_center/notification_center_reminder_spec.rb index 3b9f45e28aec..015aa20a36f1 100644 --- a/spec/features/notifications/notification_center/notification_center_reminder_spec.rb +++ b/spec/features/notifications/notification_center/notification_center_reminder_spec.rb @@ -4,6 +4,7 @@ RSpec.describe "Notification center reminder, mention and date alert", :js, :with_cuprite, + with_ee: %i[date_alerts], with_settings: { journal_aggregation_time_minutes: 0 } do shared_let(:project) { create(:project) } shared_let(:actor) { create(:user, firstname: "Actor", lastname: "User") } @@ -46,13 +47,18 @@ wait_for_reload end - context "with reminders", with_ee: %i[date_alerts] do - it "shows only the reminder alert time and note" do - center.within_item(notification_reminder) do - expect(page).to have_text("Date alert, Mentioned, Reminder") - expect(page).to have_no_text("Actor user") - expect(page).to have_text("a few seconds ago.\nNote: “This is an important reminder”") - end + it "shows the reminder alert in own entry" do + center.within_item(notification_reminder) do + expect(page).to have_text("##{work_package.id}\n- #{project.name} -\nReminder") + expect(page).to have_no_text("Actor user") + expect(page).to have_text("a few seconds ago.\nNote: “This is an important reminder”") + end + end + + it "shows other notification reasons aggregated" do + center.within_item(notification_date_alert) do + expect(page).to have_text("##{work_package.id}\n- #{project.name} -\nDate alert, Mentioned") + expect(page).to have_no_text("Actor user") end end end From 2991e18f894042d08b488794551a6ef46a9bd9b2 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Wed, 11 Dec 2024 03:19:19 +0000 Subject: [PATCH 067/121] update locales from crowdin [ci skip] --- config/locales/crowdin/ru.yml | 46 ++++++------- config/locales/crowdin/zh-CN.yml | 2 +- modules/meeting/config/locales/crowdin/nl.yml | 66 +++++++++---------- modules/meeting/config/locales/crowdin/ru.yml | 16 ++--- .../meeting/config/locales/crowdin/zh-CN.yml | 16 ++--- 5 files changed, 73 insertions(+), 73 deletions(-) diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index f598e9fd5659..f51728474470 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -416,7 +416,7 @@ ru: one: "Однако, %{shared_work_packages_link} также был предоставлен этому пользователю." few: "Однако, %{shared_work_packages_link} так же были предоставлены этому пользователю." many: "Однако, %{shared_work_packages_link} так же были предоставлены этому пользователю." - other: "Однако, %{shared_work_packages_link} также был предоставлен этому пользователю." + other: "Однако, %{shared_work_packages_link} так же был предоставлен этому пользователю." however_work_packages_shared_with_group_html: one: "Однако, %{shared_work_packages_link} также был предоставлен этой группе." few: "Однако, %{shared_work_packages_link} так же были предоставлены этой группе." @@ -568,7 +568,7 @@ ru: Установите этот флажок, чтобы пометить пакеты работ как доступные только для чтения. Никакие атрибуты не могут быть изменены за исключением статуса.
    - Примечание: Будут применены унаследованные значения (например, элементов предков или потомков). + Примечание: Будут применены унаследованные значения (например, от дочерних или родительских пакетов работ). index: no_results_title_text: В данный момент статусы пакетов работ отсутствуют. no_results_content_text: Добавить новый статус @@ -681,7 +681,7 @@ ru: follows_description: "Соответствующий пакет работ обязательно должен быть завершен до того, как начнется этот пакет" label_child_singular: "дочерний пакет работ" label_child_plural: "дочерние пакеты работ" - child_description: "Makes the related work package a sub-item of the current (parent) work package" + child_description: "Делает связанный пакет работ дочерним текущему (родительскому) пакету работ" label_blocks_singular: "блоки" label_blocks_plural: "блоки" blocks_description: "Связанный пакет работ не может быть закрыт до тех пор, пока не будет закрыт этот пакет" @@ -908,7 +908,7 @@ ru: comments_sorting: "Показывать комментарии" impaired: "Режим отображения для людей с ограниченными возможностями" time_zone: "Часовой пояс" - auto_hide_popups: "Автоматически скрывать успешные уведомления" + auto_hide_popups: "Автоматически скрывать уведомления об успешных действиях" warn_on_leaving_unsaved: "При покидании рабочего пакета предупреждать о не сохраненных изменениях" theme: "Режим" mode_guideline: "Некоторые режимы перезаписывают пользовательские цвета темы для удобства и удобочитаемости. Для полной пользовательской темы выберите светлый режим." @@ -1297,8 +1297,8 @@ ru: reused: one: "уже использовался ранее. Пожалуйста, укажите другое значение." few: "уже использовался ранее. Пожалуйста, укажите отличающийся пароль от %{count} использованных ранее." - many: "уже использовались ранее. Пожалуйста, укажите значения отличающиеся от %{count}." - other: "уже использовалось ранее. Пожалуйста, укажите значения отличающиеся от ваших последних %{count}." + many: "уже использовался ранее. Пожалуйста, укажите отличающийся пароль от %{count} использованных ранее." + other: "уже использовался ранее. Пожалуйста, укажите пароль отличающийся от использованных ранее %{count}." match: confirm: "Подтвердите новый пароль." description: "«Подтвержденный пароль» должен совпадать с введенным «новым паролем»." @@ -1889,7 +1889,7 @@ ru: reply: Отвечено time_entry: "Время подключения отредактировано" wiki_page: "Wiki-страница отредактирована" - work_package_closed: "Комплекс работ закрыт" + work_package_closed: "Пакет работ закрыт" work_package_edit: "Пакет работ отредактирован" work_package_note: "Добавлено примечание к пакету работ" title: @@ -2162,7 +2162,7 @@ ru: assigned: "Вы были назначены %{work_package}" subscribed: "Вы подписались на %{work_package}" mentioned: "Вы были назначены %{work_package}" - responsible: "Вы отвечаете за %{work_package}" + responsible: "Вы стали ответственным в %{work_package}" watched: "Вы просматриваете %{work_package}" label_accessibility: "Спец. возможности" label_account: "Учетная запись" @@ -2232,8 +2232,8 @@ ru: label_backup_code: "Код резервного копирования" label_basic_details: "Основные сведения" label_between: "между" - label_blocked_by: "заблокировано" - label_blocks: "блоки" + label_blocked_by: "блокируется" + label_blocks: "блокирует" label_blog: "Блог" label_forums_locked: "Заблокирован" label_forum_new: "Новый форум" @@ -2295,7 +2295,7 @@ ru: label_created_by: "Создано %{user}" label_current_status: "Текущий статус" label_current_version: "Текущий этап" - label_custom_field_add_no_type: "Добавьте это поле в тип комплекса работ" + label_custom_field_add_no_type: "Добавьте это поле в тип пакета работ" label_custom_field_new: "Новое настраиваемое поле" label_custom_field_plural: "Пользовательские поля" label_custom_field_default_type: "Пустой тип" @@ -2336,7 +2336,7 @@ ru: label_downloads_abbr: "D/L" label_duplicated_by: "Дублируется" label_duplicate: "дублировать" - label_duplicates: "Дубликаты" + label_duplicates: "Дублирует" label_edit: "Правка" label_edit_x: "Правка: %{x}" label_enable_multi_select: "Разрешен множественный выбор" @@ -2553,7 +2553,7 @@ ru: label_overall_activity: "Общая деятельность" label_overview: "Обзор" label_page_title: "Заголовок страницы" - label_part_of: "часть" + label_part_of: "является частью" label_password_lost: "Забыли пароль?" label_password_rule_lowercase: "Нижний регистр" label_password_rule_numeric: "Числовые символы" @@ -2642,7 +2642,7 @@ ru: label_repository_root: "Корень хранилища" label_repository_plural: "Репозитории" label_required: "требуется" - label_requires: "требуется" + label_requires: "требует выполнения" label_result_plural: "Результаты" label_revision: "Редакция" label_revision_id: "Редакция %{value}" @@ -2726,7 +2726,7 @@ ru: label_user_anonymous: "Анонимно" label_user_mail_option_all: "Для любого события на моих проектах" label_user_mail_option_none: "Нет событий" - label_user_mail_option_only_assigned: "Только для тех, к которым я причастен" + label_user_mail_option_only_assigned: "Только для тех, которые мне поручены" label_user_mail_option_only_my_events: "Только для тех, в которых я наблюдатель или участник" label_user_mail_option_only_owner: "Только для тех, которыми я владею" label_user_mail_option_selected: "Для любого события, но только для выбранных проектов" @@ -2738,7 +2738,7 @@ ru: label_version_new: "Новый этап" label_version_edit: "Изменить версию" label_version_plural: "Этапы" - label_version_sharing_descendants: "С подпроэктами" + label_version_sharing_descendants: "С подпроектами" label_version_sharing_hierarchy: "С иерархией проектов" label_version_sharing_none: "Не используется другими" label_version_sharing_system: "Во всех проектах" @@ -2775,11 +2775,11 @@ ru: label_work_package_hierarchy: "Иерархия пакета работ" label_work_package_new: "Новый пакет работ" label_work_package_edit: "Редактирование пакета работ %{name}" - label_work_package_plural: "Комплекс работ" + label_work_package_plural: "Пакет работ" label_work_package_status: "Статус пакета работ" label_work_package_status_new: "Новый статус" label_work_package_status_plural: "Статусы пакета работ" - label_work_package_types: "Типы рабочих пакетов" + label_work_package_types: "Типы пакетов работ" label_work_package_tracking: "Отслеживание пакета работ" label_work_package_view_all: "Посмотреть все пакеты работ" label_workflow: "Рабочий поток" @@ -3124,21 +3124,21 @@ ru: permission_edit_project: "Редактировать проект" permission_edit_project_attributes: "Редактирование атрибутов проекта" permission_edit_reportings: "Редактировать отчеты" - permission_edit_time_entries: "Редактировать журналы времени для других пользователей" + permission_edit_time_entries: "Править трудозатраты других пользователей" permission_edit_timelines: "Редактировать графики" permission_edit_wiki_pages: "Редактировать wiki-страницы" permission_export_work_packages: "Экспорт пакетов работ" permission_export_wiki_pages: "Экспорт wiki-страниц" permission_list_attachments: "Отобразить список прикреплённых файлов" - permission_log_own_time: "Регистрировать свое время" - permission_log_time: "Журнал времени для других пользователей" + permission_log_own_time: "Журналировать свои трудозатраты" + permission_log_time: "Журналировать трудозатраты других пользователей" permission_manage_forums: "Управление форумами" permission_manage_categories: "Управление категориями пакета работ" permission_manage_dashboards: "Управление панелями инструментов" permission_manage_work_package_relations: "Управление связями пакета работ" permission_manage_members: "Управление участниками" permission_manage_news: "Управление новостями" - permission_manage_project_activities: "Управление проектной деятельностью" + permission_manage_project_activities: "Активировать виды деятельности в проектах" permission_manage_public_queries: "Управление общими представлениями" permission_manage_repository: "Управление репозиторием" permission_manage_subtasks: "Управление иерархиями пакетов работ" @@ -3611,7 +3611,7 @@ ru: text_custom_field_hint_activate_per_project: > Помните, что настраиваемые поля тоже нужно включать в каждом проекте по отдельности. text_custom_field_hint_activate_per_project_and_type: > - Настраиваемые поля нужно включать для каждого типа комплекса работ и для каждого проекта в отдельности. + Настраиваемые поля нужно включать для каждого типа пакета работ и для каждого проекта в отдельности. text_wp_status_read_only_html: > Корпоративная версия добавит эти дополнительные дополнения для полей статусов пакетов работ:

    text_project_custom_field_html: > diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index b6240c337f31..73ca4ba5538c 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -653,7 +653,7 @@ zh-CN: follows_description: "相关工作包必须在本工作包启动前完成" label_child_singular: "子节点" label_child_plural: "子节点" - child_description: "Makes the related work package a sub-item of the current (parent) work package" + child_description: "使相关工作包成为当前(父) 工作包的子项目" label_blocks_singular: "阻止" label_blocks_plural: "阻止" blocks_description: "在本工作包结束之前,相关工作包不能关闭" diff --git a/modules/meeting/config/locales/crowdin/nl.yml b/modules/meeting/config/locales/crowdin/nl.yml index 33a6107924d7..446cde65aeef 100644 --- a/modules/meeting/config/locales/crowdin/nl.yml +++ b/modules/meeting/config/locales/crowdin/nl.yml @@ -51,15 +51,15 @@ nl: meeting_section: title: "Titel" recurring_meeting: - frequency: "Frequency" + frequency: "Frequentie" interval: "Interval" - end_after: "End after" - iterations: "Occurrences" + end_after: "Eindigt na" + iterations: "Voorvallen" errors: messages: invalid_time_format: "is geen geldige tijd. Vereist formaat: UH:MM" models: - recurring_meeting: "Recurring meeting" + recurring_meeting: "Terugkerende vergadering" structured_meeting: "Vergadering (dynamisch)" meeting_agenda_item: "Agendapunt" meeting_agenda: "Agenda" @@ -95,7 +95,7 @@ nl: label_meeting_plural: "Vergaderingen" label_meeting_new: "Nieuwe vergadering" label_meeting_new_dynamic: "Nieuwe dynamische vergadering" - label_meeting_new_recurring: "New recurring meeting" + label_meeting_new_recurring: "Nieuwe terugkerende vergadering" label_meeting_create: "Creëer vergadering" label_meeting_copy: "Kopie vergadering" label_meeting_edit: "Vergadering bewerken" @@ -109,50 +109,50 @@ nl: label_meeting_date_time: "Datum/Tijd" label_meeting_date_and_time: "Datum en tijd" label_meeting_diff: "Diff" - label_recurring_meeting: "Recurring meeting" - label_recurring_meeting_part_of: "Part of a meeting series" - label_recurring_meeting_new: "New recurring meeting" - label_recurring_meeting_plural: "Recurring meetings" - label_template: "Template" - label_recurring_meeting_view: "View meeting series" - label_recurring_meeting_create: "Create from template" - label_recurring_meeting_copy: "Copy as one-off" - label_recurring_meeting_cancel: "Cancel this occurrence" - label_recurring_meeting_delete: "Delete occurrence" + label_recurring_meeting: "Terugkerende vergadering" + label_recurring_meeting_part_of: "Deel van een vergaderreeks" + label_recurring_meeting_new: "Nieuwe terugkerende vergadering" + label_recurring_meeting_plural: "Terugkerende vergaderingen" + label_template: "Sjabloon" + label_recurring_meeting_view: "Bekijk vergaderreeksen" + label_recurring_meeting_create: "Op basis van sjabloon maken" + label_recurring_meeting_copy: "Eenmalig kopiëren" + label_recurring_meeting_cancel: "Deze gebeurtenis annuleren" + label_recurring_meeting_delete: "Gebeurtenis verwijderen" label_recurring_meeting_delete_confirmation: > - This meeting is part of a series called %{name}. This will only delete this particular occurrence and not the entire series. Do you want to continue? + Deze bijeenkomst maakt deel uit van een serie genaamd %{name}. Hiermee wordt alleen deze specifieke gebeurtenis verwijderd en niet de hele serie. Wilt u doorgaan? label_recurring_occurrence_delete_confirmation: > - Any meeting information not in the template will be lost. Do you want to continue? - label_recurring_meeting_restore: "Restore this occurrence" - label_recurring_meeting_more: "There are %{count} more scheduled meetings (%{schedule})." - label_recurring_meeting_more_singular: "There is %{count} more scheduled meeting (%{schedule})." - label_recurring_meeting_more_past: "There are %{count} more past meetings." - label_recurring_meeting_more_past_singular: "There is %{count} more past meeting." - label_recurring_meeting_show_more: "Show more" - label_recurring_meeting_series_edit: "Edit meeting series" - label_recurring_meeting_series_delete: "Delete meeting series" - label_my_meetings: "My meetings" - label_all_meetings: "All meetings" + Alle vergaderinformatie die niet in de sjabloon staat, zal verloren gaan. Wilt u doorgaan? + label_recurring_meeting_restore: "Herstel deze gebeurtenis" + label_recurring_meeting_more: "Er zijn nog %{count} geplande vergaderingen (%{schedule})." + label_recurring_meeting_more_singular: "Er zijn nog %{count} geplande vergaderingen (%{schedule})." + label_recurring_meeting_more_past: "Er zijn %{count} meer eerdere vergaderingen." + label_recurring_meeting_more_past_singular: "Er zijn %{count} meer eerdere vergaderingen." + label_recurring_meeting_show_more: "Toon meer" + label_recurring_meeting_series_edit: "Vergaderreeks bewerken" + label_recurring_meeting_series_delete: "Verwijder serie van vergaderingen" + label_my_meetings: "Mijn vergaderingen" + label_all_meetings: "Alle vergaderingen" label_upcoming_meetings: "Geplande vergaderingen" label_past_meetings: "Eerdere vergaderingen" label_upcoming_meetings_short: "Aankomende" label_past_meetings_short: "Vorige" label_involvement: "Betrokkenheid" - label_invitations: "Invitations" + label_invitations: "Uitnodigingen" label_past_invitations: "Vorige uitnodigingen" - label_attended: "Attended" - label_created_by_me: "Created by me" + label_attended: "Deelgenomen" + label_created_by_me: "Gemaakt door mij" label_notify: "Verzenden voor revisie" label_icalendar: "Verstuur iCalendar" label_icalendar_download: "Download iCalendar event" - label_view_meeting_series: "View meeting series" - label_meeting_series: "Meeting series" + label_view_meeting_series: "Bekijk vergaderreeksen" + label_meeting_series: "Vergaderreeksen" label_version: "Versie" label_time_zone: "Tijdzone" label_start_date: "Startdatum" meeting: participants: - template: "These participants will be invited automatically to all future meetings as they are created." + template: "Deze deelnemers worden automatisch uitgenodigd voor alle toekomstige vergaderingen wanneer deze worden aangemaakt." attachments: template: "These attached files will be included in all future meetings in the series." text: "Bijgevoegde bestanden zijn beschikbaar voor alle deelnemers aan de vergadering. U kunt deze ook naar agendapunt notities slepen." diff --git a/modules/meeting/config/locales/crowdin/ru.yml b/modules/meeting/config/locales/crowdin/ru.yml index 6a0c8204deb7..61833e2622c9 100644 --- a/modules/meeting/config/locales/crowdin/ru.yml +++ b/modules/meeting/config/locales/crowdin/ru.yml @@ -126,11 +126,11 @@ ru: label_recurring_occurrence_delete_confirmation: > Любая информация о встрече, не включенная в шаблон, будет потеряна. Вы хотите продолжить? label_recurring_meeting_restore: "Восстановить это событие" - label_recurring_meeting_more: "There are %{count} more scheduled meetings (%{schedule})." - label_recurring_meeting_more_singular: "There is %{count} more scheduled meeting (%{schedule})." - label_recurring_meeting_more_past: "There are %{count} more past meetings." - label_recurring_meeting_more_past_singular: "There is %{count} more past meeting." - label_recurring_meeting_show_more: "Show more" + label_recurring_meeting_more: "Есть еще %{count} запланированных встреч (%{schedule})." + label_recurring_meeting_more_singular: "Есть еще %{count} запланированная встреча (%{schedule})." + label_recurring_meeting_more_past: "Есть еще %{count} прошлых встреч." + label_recurring_meeting_more_past_singular: "Есть еще %{count} прошедшая встреча." + label_recurring_meeting_show_more: "Показать еще" label_recurring_meeting_series_edit: "Изменить серию встреч" label_recurring_meeting_series_delete: "Удалить серию встреч" label_my_meetings: "Мои встречи" @@ -214,11 +214,11 @@ ru: label_view_template: "Посмотреть шаблон" label_edit_template: "Изменить шаблон" banner_html: > - You are currently editing a template of a meeting series: %{link}. Every new occurrence of a meeting in the series will use this template. Changes will not affect past or already created meetings. + В настоящее время вы редактируете шаблон серии встреч: %{link}. Каждая новая встреча в этой серии будет использовать этот шаблон. Изменения не повлияют на прошлые или уже созданные встречи. frequency: every_weekday: "Каждый %{day_of_the_week}" daily: "Ежедневно" - working_days: "Every working day" + working_days: "Каждый рабочий день" weekly: "Еженедельно" end_after: specific_date: "Конкретная дата" @@ -283,7 +283,7 @@ ru: text_deleted_agenda_item: 'Удаленный пункт повестки' label_initial_meeting_details: "Встреча" label_meeting_details: "Детали совещания" - label_meeting_series_details: "Meeting series details" + label_meeting_series_details: "Подробности серии встреч" label_meeting_details_edit: "Изменить сведения о встрече" label_meeting_state: "Статус встречи" label_meeting_state_open: "Открыть" diff --git a/modules/meeting/config/locales/crowdin/zh-CN.yml b/modules/meeting/config/locales/crowdin/zh-CN.yml index fd0c3a7cf3bf..42952d0f8fdc 100644 --- a/modules/meeting/config/locales/crowdin/zh-CN.yml +++ b/modules/meeting/config/locales/crowdin/zh-CN.yml @@ -123,11 +123,11 @@ zh-CN: label_recurring_occurrence_delete_confirmation: > 任何不在模板中的会议信息都将丢失。要继续吗? label_recurring_meeting_restore: "恢复此事件" - label_recurring_meeting_more: "There are %{count} more scheduled meetings (%{schedule})." - label_recurring_meeting_more_singular: "There is %{count} more scheduled meeting (%{schedule})." - label_recurring_meeting_more_past: "There are %{count} more past meetings." - label_recurring_meeting_more_past_singular: "There is %{count} more past meeting." - label_recurring_meeting_show_more: "Show more" + label_recurring_meeting_more: "还有至少 %{count} 个预定会议 (%{schedule})。" + label_recurring_meeting_more_singular: "还有至少 %{count} 个预定会议 (%{schedule})。" + label_recurring_meeting_more_past: "有至少 %{count} 个过往会议。" + label_recurring_meeting_more_past_singular: "有至少 %{count} 个过往会议。" + label_recurring_meeting_show_more: "显示更多" label_recurring_meeting_series_edit: "编辑会议系列" label_recurring_meeting_series_delete: "删除会议系列" label_my_meetings: "我的会议" @@ -211,11 +211,11 @@ zh-CN: label_view_template: "查看模板" label_edit_template: "编辑模板" banner_html: > - You are currently editing a template of a meeting series: %{link}. Every new occurrence of a meeting in the series will use this template. Changes will not affect past or already created meetings. + 您正在编辑会议系列的模板: %{link}。系列会议中的每个新会议都将使用此模板。更改不会影响过往或已创建的会议。 frequency: every_weekday: "每个 %{day_of_the_week}" daily: "每日" - working_days: "Every working day" + working_days: "每个工作日" weekly: "每周" end_after: specific_date: "特定日期" @@ -280,7 +280,7 @@ zh-CN: text_deleted_agenda_item: '删除的议程项目' label_initial_meeting_details: "会议" label_meeting_details: "会议详情" - label_meeting_series_details: "Meeting series details" + label_meeting_series_details: "会议系列详情" label_meeting_details_edit: "编辑会议详情" label_meeting_state: "会议状态" label_meeting_state_open: "开放" From d570bb561f79cad2803976bb33b3115ca348c40b Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Wed, 11 Dec 2024 03:21:45 +0000 Subject: [PATCH 068/121] update locales from crowdin [ci skip] --- config/locales/crowdin/ru.yml | 46 ++++++++++++++++---------------- config/locales/crowdin/zh-CN.yml | 2 +- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index c090f2e6f8b9..6351a4761cf9 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -416,7 +416,7 @@ ru: one: "Однако, %{shared_work_packages_link} также был предоставлен этому пользователю." few: "Однако, %{shared_work_packages_link} так же были предоставлены этому пользователю." many: "Однако, %{shared_work_packages_link} так же были предоставлены этому пользователю." - other: "Однако, %{shared_work_packages_link} также был предоставлен этому пользователю." + other: "Однако, %{shared_work_packages_link} так же был предоставлен этому пользователю." however_work_packages_shared_with_group_html: one: "Однако, %{shared_work_packages_link} также был предоставлен этой группе." few: "Однако, %{shared_work_packages_link} так же были предоставлены этой группе." @@ -564,7 +564,7 @@ ru: Установите этот флажок, чтобы пометить пакеты работ как доступные только для чтения. Никакие атрибуты не могут быть изменены за исключением статуса.
    - Примечание: Будут применены унаследованные значения (например, элементов предков или потомков). + Примечание: Будут применены унаследованные значения (например, от дочерних или родительских пакетов работ). index: no_results_title_text: В данный момент статусы пакетов работ отсутствуют. no_results_content_text: Добавить новый статус @@ -673,7 +673,7 @@ ru: follows_description: "Соответствующий пакет работ обязательно должен быть завершен до того, как начнется этот пакет" label_child_singular: "дочерний пакет работ" label_child_plural: "дочерние пакеты работ" - child_description: "Makes the related work package a sub-item of the current (parent) work package" + child_description: "Делает связанный пакет работ дочерним текущему (родительскому) пакету работ" label_blocks_singular: "блоки" label_blocks_plural: "блоки" blocks_description: "Связанный пакет работ не может быть закрыт до тех пор, пока не будет закрыт этот пакет" @@ -900,7 +900,7 @@ ru: comments_sorting: "Показывать комментарии" impaired: "Режим отображения для людей с ограниченными возможностями" time_zone: "Часовой пояс" - auto_hide_popups: "Автоматически скрывать успешные уведомления" + auto_hide_popups: "Автоматически скрывать уведомления об успешных действиях" warn_on_leaving_unsaved: "При покидании рабочего пакета предупреждать о не сохраненных изменениях" theme: "Режим" mode_guideline: "Некоторые режимы перезаписывают пользовательские цвета темы для удобства и удобочитаемости. Для полной пользовательской темы выберите светлый режим." @@ -1287,8 +1287,8 @@ ru: reused: one: "уже использовался ранее. Пожалуйста, укажите другое значение." few: "уже использовался ранее. Пожалуйста, укажите отличающийся пароль от %{count} использованных ранее." - many: "уже использовались ранее. Пожалуйста, укажите значения отличающиеся от %{count}." - other: "уже использовалось ранее. Пожалуйста, укажите значения отличающиеся от ваших последних %{count}." + many: "уже использовался ранее. Пожалуйста, укажите отличающийся пароль от %{count} использованных ранее." + other: "уже использовался ранее. Пожалуйста, укажите пароль отличающийся от использованных ранее %{count}." match: confirm: "Подтвердите новый пароль." description: "«Подтвержденный пароль» должен совпадать с введенным «новым паролем»." @@ -1879,7 +1879,7 @@ ru: reply: Отвечено time_entry: "Время подключения отредактировано" wiki_page: "Wiki-страница отредактирована" - work_package_closed: "Комплекс работ закрыт" + work_package_closed: "Пакет работ закрыт" work_package_edit: "Пакет работ отредактирован" work_package_note: "Добавлено примечание к пакету работ" title: @@ -2152,7 +2152,7 @@ ru: assigned: "Вы были назначены %{work_package}" subscribed: "Вы подписались на %{work_package}" mentioned: "Вы были назначены %{work_package}" - responsible: "Вы отвечаете за %{work_package}" + responsible: "Вы стали ответственным в %{work_package}" watched: "Вы просматриваете %{work_package}" label_accessibility: "Спец. возможности" label_account: "Учетная запись" @@ -2222,8 +2222,8 @@ ru: label_backup_code: "Код резервного копирования" label_basic_details: "Основные сведения" label_between: "между" - label_blocked_by: "заблокировано" - label_blocks: "блоки" + label_blocked_by: "блокируется" + label_blocks: "блокирует" label_blog: "Блог" label_forums_locked: "Заблокирован" label_forum_new: "Новый форум" @@ -2285,7 +2285,7 @@ ru: label_created_by: "Создано %{user}" label_current_status: "Текущий статус" label_current_version: "Текущий этап" - label_custom_field_add_no_type: "Добавьте это поле в тип комплекса работ" + label_custom_field_add_no_type: "Добавьте это поле в тип пакета работ" label_custom_field_new: "Новое настраиваемое поле" label_custom_field_plural: "Пользовательские поля" label_custom_field_default_type: "Пустой тип" @@ -2325,7 +2325,7 @@ ru: label_downloads_abbr: "D/L" label_duplicated_by: "Дублируется" label_duplicate: "дублировать" - label_duplicates: "Дубликаты" + label_duplicates: "Дублирует" label_edit: "Правка" label_edit_x: "Правка: %{x}" label_enable_multi_select: "Разрешен множественный выбор" @@ -2542,7 +2542,7 @@ ru: label_overall_activity: "Общая деятельность" label_overview: "Обзор" label_page_title: "Заголовок страницы" - label_part_of: "часть" + label_part_of: "является частью" label_password_lost: "Забыли пароль?" label_password_rule_lowercase: "Нижний регистр" label_password_rule_numeric: "Числовые символы" @@ -2630,7 +2630,7 @@ ru: label_repository_root: "Корень хранилища" label_repository_plural: "Репозитории" label_required: "требуется" - label_requires: "требуется" + label_requires: "требует выполнения" label_result_plural: "Результаты" label_revision: "Редакция" label_revision_id: "Редакция %{value}" @@ -2714,7 +2714,7 @@ ru: label_user_anonymous: "Анонимно" label_user_mail_option_all: "Для любого события на моих проектах" label_user_mail_option_none: "Нет событий" - label_user_mail_option_only_assigned: "Только для тех, к которым я причастен" + label_user_mail_option_only_assigned: "Только для тех, которые мне поручены" label_user_mail_option_only_my_events: "Только для тех, в которых я наблюдатель или участник" label_user_mail_option_only_owner: "Только для тех, которыми я владею" label_user_mail_option_selected: "Для любого события, но только для выбранных проектов" @@ -2725,7 +2725,7 @@ ru: label_users_settings: "Настройки пользователей" label_version_new: "Новый этап" label_version_plural: "Этапы" - label_version_sharing_descendants: "С подпроэктами" + label_version_sharing_descendants: "С подпроектами" label_version_sharing_hierarchy: "С иерархией проектов" label_version_sharing_none: "Не используется другими" label_version_sharing_system: "Во всех проектах" @@ -2762,11 +2762,11 @@ ru: label_work_package_hierarchy: "Иерархия пакета работ" label_work_package_new: "Новый пакет работ" label_work_package_edit: "Редактирование пакета работ %{name}" - label_work_package_plural: "Комплекс работ" + label_work_package_plural: "Пакет работ" label_work_package_status: "Статус пакета работ" label_work_package_status_new: "Новый статус" label_work_package_status_plural: "Статусы пакета работ" - label_work_package_types: "Типы рабочих пакетов" + label_work_package_types: "Типы пакетов работ" label_work_package_tracking: "Отслеживание пакета работ" label_work_package_view_all: "Посмотреть все пакеты работ" label_workflow: "Рабочий поток" @@ -3110,21 +3110,21 @@ ru: permission_edit_project: "Редактировать проект" permission_edit_project_attributes: "Редактирование атрибутов проекта" permission_edit_reportings: "Редактировать отчеты" - permission_edit_time_entries: "Редактировать журналы времени для других пользователей" + permission_edit_time_entries: "Править трудозатраты других пользователей" permission_edit_timelines: "Редактировать графики" permission_edit_wiki_pages: "Редактировать wiki-страницы" permission_export_work_packages: "Экспорт пакетов работ" permission_export_wiki_pages: "Экспорт wiki-страниц" permission_list_attachments: "Отобразить список прикреплённых файлов" - permission_log_own_time: "Регистрировать свое время" - permission_log_time: "Журнал времени для других пользователей" + permission_log_own_time: "Журналировать свои трудозатраты" + permission_log_time: "Журналировать трудозатраты других пользователей" permission_manage_forums: "Управление форумами" permission_manage_categories: "Управление категориями пакета работ" permission_manage_dashboards: "Управление панелями инструментов" permission_manage_work_package_relations: "Управление связями пакета работ" permission_manage_members: "Управление участниками" permission_manage_news: "Управление новостями" - permission_manage_project_activities: "Управление проектной деятельностью" + permission_manage_project_activities: "Активировать виды деятельности в проектах" permission_manage_public_queries: "Управление общими представлениями" permission_manage_repository: "Управление репозиторием" permission_manage_subtasks: "Управление иерархиями пакетов работ" @@ -3596,7 +3596,7 @@ ru: text_custom_field_hint_activate_per_project: > Помните, что настраиваемые поля тоже нужно включать в каждом проекте по отдельности. text_custom_field_hint_activate_per_project_and_type: > - Настраиваемые поля нужно включать для каждого типа комплекса работ и для каждого проекта в отдельности. + Настраиваемые поля нужно включать для каждого типа пакета работ и для каждого проекта в отдельности. text_wp_status_read_only_html: > Корпоративная версия добавит эти дополнительные дополнения для полей статусов пакетов работ:
    • Разрешить помечать пакеты работ только для чтения в определенные статусы
    text_project_custom_field_html: > diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index 30c38bea61a6..748a5fac6d37 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -645,7 +645,7 @@ zh-CN: follows_description: "相关工作包必须在本工作包启动前完成" label_child_singular: "子节点" label_child_plural: "子节点" - child_description: "Makes the related work package a sub-item of the current (parent) work package" + child_description: "使相关工作包成为当前(父) 工作包的子项目" label_blocks_singular: "阻止" label_blocks_plural: "阻止" blocks_description: "在本工作包结束之前,相关工作包不能关闭" From 5bfe658097ed0cee429d55a26b7421157c1eaaf9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Dec 2024 05:42:47 +0000 Subject: [PATCH 069/121] build(deps): bump rails from 7.1.5 to 7.1.5.1 Bumps [rails](https://github.com/rails/rails) from 7.1.5 to 7.1.5.1. - [Release notes](https://github.com/rails/rails/releases) - [Commits](https://github.com/rails/rails/compare/v7.1.5...v7.1.5.1) --- updated-dependencies: - dependency-name: rails dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 106 +++++++++++++++++++++++++-------------------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c236730d45d4..c906ba4748b1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -226,35 +226,35 @@ GEM remote: https://rubygems.org/ specs: Ascii85 (2.0.1) - actioncable (7.1.5) - actionpack (= 7.1.5) - activesupport (= 7.1.5) + actioncable (7.1.5.1) + actionpack (= 7.1.5.1) + activesupport (= 7.1.5.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.5) - actionpack (= 7.1.5) - activejob (= 7.1.5) - activerecord (= 7.1.5) - activestorage (= 7.1.5) - activesupport (= 7.1.5) + actionmailbox (7.1.5.1) + actionpack (= 7.1.5.1) + activejob (= 7.1.5.1) + activerecord (= 7.1.5.1) + activestorage (= 7.1.5.1) + activesupport (= 7.1.5.1) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.1.5) - actionpack (= 7.1.5) - actionview (= 7.1.5) - activejob (= 7.1.5) - activesupport (= 7.1.5) + actionmailer (7.1.5.1) + actionpack (= 7.1.5.1) + actionview (= 7.1.5.1) + activejob (= 7.1.5.1) + activesupport (= 7.1.5.1) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.2) - actionpack (7.1.5) - actionview (= 7.1.5) - activesupport (= 7.1.5) + actionpack (7.1.5.1) + actionview (= 7.1.5.1) + activesupport (= 7.1.5.1) nokogiri (>= 1.8.5) racc rack (>= 2.2.4) @@ -265,31 +265,31 @@ GEM actionpack-xml_parser (2.0.1) actionpack (>= 5.0) railties (>= 5.0) - actiontext (7.1.5) - actionpack (= 7.1.5) - activerecord (= 7.1.5) - activestorage (= 7.1.5) - activesupport (= 7.1.5) + actiontext (7.1.5.1) + actionpack (= 7.1.5.1) + activerecord (= 7.1.5.1) + activestorage (= 7.1.5.1) + activesupport (= 7.1.5.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.5) - activesupport (= 7.1.5) + actionview (7.1.5.1) + activesupport (= 7.1.5.1) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (7.1.5) - activesupport (= 7.1.5) + activejob (7.1.5.1) + activesupport (= 7.1.5.1) globalid (>= 0.3.6) - activemodel (7.1.5) - activesupport (= 7.1.5) + activemodel (7.1.5.1) + activesupport (= 7.1.5.1) activemodel-serializers-xml (1.0.3) activemodel (>= 5.0.0.a) activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (7.1.5) - activemodel (= 7.1.5) - activesupport (= 7.1.5) + activerecord (7.1.5.1) + activemodel (= 7.1.5.1) + activesupport (= 7.1.5.1) timeout (>= 0.4.0) activerecord-import (1.8.1) activerecord (>= 4.2) @@ -302,13 +302,13 @@ GEM multi_json (~> 1.11, >= 1.11.2) rack (>= 2.0.8, < 4) railties (>= 6.1) - activestorage (7.1.5) - actionpack (= 7.1.5) - activejob (= 7.1.5) - activerecord (= 7.1.5) - activesupport (= 7.1.5) + activestorage (7.1.5.1) + actionpack (= 7.1.5.1) + activejob (= 7.1.5.1) + activerecord (= 7.1.5.1) + activesupport (= 7.1.5.1) marcel (~> 1.0) - activesupport (7.1.5) + activesupport (7.1.5.1) base64 benchmark (>= 0.3) bigdecimal @@ -916,20 +916,20 @@ GEM rackup (1.0.1) rack (< 3) webrick - rails (7.1.5) - actioncable (= 7.1.5) - actionmailbox (= 7.1.5) - actionmailer (= 7.1.5) - actionpack (= 7.1.5) - actiontext (= 7.1.5) - actionview (= 7.1.5) - activejob (= 7.1.5) - activemodel (= 7.1.5) - activerecord (= 7.1.5) - activestorage (= 7.1.5) - activesupport (= 7.1.5) + rails (7.1.5.1) + actioncable (= 7.1.5.1) + actionmailbox (= 7.1.5.1) + actionmailer (= 7.1.5.1) + actionpack (= 7.1.5.1) + actiontext (= 7.1.5.1) + actionview (= 7.1.5.1) + activejob (= 7.1.5.1) + activemodel (= 7.1.5.1) + activerecord (= 7.1.5.1) + activestorage (= 7.1.5.1) + activesupport (= 7.1.5.1) bundler (>= 1.15.0) - railties (= 7.1.5) + railties (= 7.1.5.1) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -944,9 +944,9 @@ GEM rails-i18n (7.0.10) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (7.1.5) - actionpack (= 7.1.5) - activesupport (= 7.1.5) + railties (7.1.5.1) + actionpack (= 7.1.5.1) + activesupport (= 7.1.5.1) irb rackup (>= 1.0.0) rake (>= 12.2) From ab265b991e45bb8ab9fa2c88cf15fa826bbc4710 Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 11 Dec 2024 09:32:12 +0300 Subject: [PATCH 070/121] Respect users' locale in error message --- app/contracts/api_tokens/create_contract.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/contracts/api_tokens/create_contract.rb b/app/contracts/api_tokens/create_contract.rb index f9c3d93484f4..b4835e55eb6c 100644 --- a/app/contracts/api_tokens/create_contract.rb +++ b/app/contracts/api_tokens/create_contract.rb @@ -32,7 +32,7 @@ module APITokens class CreateContract < BaseContract attribute :token_name - validates :token_name, presence: { message: I18n.t("my.access_token.errors.token_name_blank") } + validates :token_name, presence: { message: proc { I18n.t("my.access_token.errors.token_name_blank") } } validate :token_name_is_unique, unless: :token_name_is_blank? private From 597e83231147f9301be8bfdc971d1dd326c39004 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 11 Dec 2024 08:27:24 +0100 Subject: [PATCH 071/121] Update release notes --- docs/release-notes/15-1-0/README.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/15-1-0/README.md b/docs/release-notes/15-1-0/README.md index ab0fc90c7fe3..3191dcc2e6df 100644 --- a/docs/release-notes/15-1-0/README.md +++ b/docs/release-notes/15-1-0/README.md @@ -89,20 +89,30 @@ Read more about [seeding through environment for OpenProject configuration in ou - Bugfix: Sorting by custom field has strong impact on performance for the project list \[[#57305](https://community.openproject.org/wp/57305)\] - Bugfix: Absent value for custom field is ordered not consistently at the beginning or end for different formats \[[#57554](https://community.openproject.org/wp/57554)\] - Bugfix: Notification on a mention added to an edited comment is not triggered \[[#58007](https://community.openproject.org/wp/58007)\] -- Bugfix: Sidebar menu should be hidden when page width is reduced \[[#58454](https://community.openproject.org/wp/58454)\] - Bugfix: Info box on new custom field of type hierarchy is permanent \[[#58466](https://community.openproject.org/wp/58466)\] - Bugfix: Item add form disappears after added a new item to a custom field of type hierarchy \[[#58467](https://community.openproject.org/wp/58467)\] - Bugfix: Using multi-select and required options do not work \[[#58635](https://community.openproject.org/wp/58635)\] - Bugfix: HTML files served as plain text \[[#58646](https://community.openproject.org/wp/58646)\] - Bugfix: Performance issues on work\_packages api endpoint \[[#58689](https://community.openproject.org/wp/58689)\] - Bugfix: Breadcrumb of hierarchy items has left margin \[[#58700](https://community.openproject.org/wp/58700)\] +- Bugfix: Missing hint in comment box label \[[#59060](https://community.openproject.org/wp/59060)\] +- Bugfix: Automatic comments to indicate retractions miss a stem (newest on top) \[[#59278](https://community.openproject.org/wp/59278)\] - Bugfix: Add local spacing to inline enterprise banner \[[#59284](https://community.openproject.org/wp/59284)\] - Bugfix: Hierarchy custom fields causing 500 on custom actions \[[#59354](https://community.openproject.org/wp/59354)\] +- Bugfix: Files count badge missing in Files tab (WP full view) \[[#59391](https://community.openproject.org/wp/59391)\] - Bugfix: Signing in after two factor methods have been deleted lead to a 500 error \[[#59408](https://community.openproject.org/wp/59408)\] - Bugfix: User without permission to "Save views" can save changes to work package views \[[#59479](https://community.openproject.org/wp/59479)\] - Bugfix: Double provider showing on OpenID provider list \[[#59510](https://community.openproject.org/wp/59510)\] +- Bugfix: SAML provider not available when migrated with idp\_cert\_fingerprint \[[#59535](https://community.openproject.org/wp/59535)\] - Bugfix: Hierarchy items not correctly displayed if custom field is shown in wp table \[[#59572](https://community.openproject.org/wp/59572)\] -- Bugfix: Buttons not visible on iOS in edit relations modal \[[#59772](https://community.openproject.org/wp/59772)\] +- Bugfix: Export of an unsaved query not working properly \[[#59781](https://community.openproject.org/wp/59781)\] +- Bugfix: No comments possible for shared work packages that were shared with "Comment" permission \[[#59785](https://community.openproject.org/wp/59785)\] +- Bugfix: Missing space between project selector and "include sub-projects"-checkbox \[[#59795](https://community.openproject.org/wp/59795)\] +- Bugfix: Work package create button doesn't work on mobile Web \[[#59828](https://community.openproject.org/wp/59828)\] +- Bugfix: Trailing ' in journal diff parameter activity\_page breaks page \[[#59865](https://community.openproject.org/wp/59865)\] +- Bugfix: Regression: Meeting sorted in reverse order \[[#59908](https://community.openproject.org/wp/59908)\] +- Bugfix: Not possible to update auto-discovered values \[[#59928](https://community.openproject.org/wp/59928)\] +- Bugfix: Form buttons are left aligned and not right aligned in hierarchy items form \[[#59978](https://community.openproject.org/wp/59978)\] - Feature: Work package PDF export: Insert page breaks \[[#44047](https://community.openproject.org/wp/44047)\] - Feature: Zen mode for project lists page \[[#52150](https://community.openproject.org/wp/52150)\] - Feature: Create and edit custom field of type hierarchy \[[#57806](https://community.openproject.org/wp/57806)\] @@ -116,6 +126,7 @@ Read more about [seeding through environment for OpenProject configuration in ou - Feature: Add enterprise gateway to creation of custom fields of type hierarchy \[[#58865](https://community.openproject.org/wp/58865)\] - Feature: Primer: Implement proper mobile behaviour for BoxTable \[[#59248](https://community.openproject.org/wp/59248)\] - Feature: Allow locking of the seeded admin user \[[#59722](https://community.openproject.org/wp/59722)\] +- Feature: Remove feature flag custom\_field\_of\_type\_hierarchy \[[#59864](https://community.openproject.org/wp/59864)\] @@ -131,4 +142,4 @@ Last but not least, we are very grateful for our very engaged translation contri - [José Helbert Pina](https://crowdin.com/profile/GZTranslations), for a great number of translations into Portuguese. - [BigSeung](https://crowdin.com/profile/BigSeung), for a great number of translations into Korean. -Would you like to help out with translations yourself? Then take a look at our [translation guide](../../contributions-guide/translate-openproject/) and find out exactly how you can contribute. It is very much appreciated! \ No newline at end of file +Would you like to help out with translations yourself? Then take a look at our [translation guide](../../contributions-guide/translate-openproject/) and find out exactly how you can contribute. It is very much appreciated! From 6dde06214df3b5bd877a01e6c94be0223ae3d9b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 11 Dec 2024 08:27:24 +0100 Subject: [PATCH 072/121] Add release-notes file --- docs/release-notes/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/release-notes/README.md b/docs/release-notes/README.md index 0aa676ccdc3e..c486e0a64f66 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 +## 15.1.0 + +Release date: 2024-12-11 + +[Release Notes](15-1-0/) + + ## 15.0.2 Release date: 2024-11-20 From 70f9427d3d43e70caea243fed8b4dbdd8aad0441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 11 Dec 2024 08:27:27 +0100 Subject: [PATCH 073/121] Bumped version to 15.1.1 [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 685b7d7d5ee2..e5e6f7a942f5 100644 --- a/lib/open_project/version.rb +++ b/lib/open_project/version.rb @@ -33,7 +33,7 @@ module OpenProject module VERSION # :nodoc: MAJOR = 15 MINOR = 1 - PATCH = 0 + PATCH = 1 class << self # Used by semver to define the special version (if any). From 48a2f39fe620f6b825b60f8d1c02a87bad3fb58d Mon Sep 17 00:00:00 2001 From: Behrokh Satarnejad <62008897+bsatarnejad@users.noreply.github.com> Date: Wed, 11 Dec 2024 08:27:37 +0100 Subject: [PATCH 074/121] [58454] Sidebar menu should be hidden when page width is reduced (#17003) * on resizing the window hide the menu if the new window size is small * close menu when the screen is resized and its size is less than 1012px * show the menu if the window size is greater than 1012px * add comment * fix closing menu when the user close it and then refresh the page again * fix eslint errors * set focus on first element of menu * check if the screen is a large screen and menu is hidden because the screen size was resized to a small one * set toggle title --- .../main-menu/main-menu-toggle.service.ts | 106 ++++++++++-------- 1 file changed, 60 insertions(+), 46 deletions(-) diff --git a/frontend/src/app/core/main-menu/main-menu-toggle.service.ts b/frontend/src/app/core/main-menu/main-menu-toggle.service.ts index 6db9707b6dca..f98505cc2413 100644 --- a/frontend/src/app/core/main-menu/main-menu-toggle.service.ts +++ b/frontend/src/app/core/main-menu/main-menu-toggle.service.ts @@ -66,12 +66,18 @@ export class MainMenuToggleService { private changeData = new BehaviorSubject({}); public changeData$ = this.changeData.asObservable(); + private wasHiddenDueToResize = false; + + private wasCollapsedByUser = false; constructor( protected I18n:I18nService, public injector:Injector, readonly deviceService:DeviceService, ) { + this.initializeMenu(); + // Add resize event listener + window.addEventListener('resize', this.onWindowResize.bind(this)); } public initializeMenu():void { @@ -80,45 +86,57 @@ export class MainMenuToggleService { } this.elementWidth = parseInt(window.OpenProject.guardedLocalStorage(this.localStorageKey) as string); - const menuCollapsed = window.OpenProject.guardedLocalStorage(this.localStorageStateKey) as string; + const menuCollapsed = window.OpenProject.guardedLocalStorage(this.localStorageStateKey) === 'true'; + + // Set the initial value of the collapse tracking flag + this.wasCollapsedByUser = menuCollapsed; if (!this.elementWidth) { this.saveWidth(this.mainMenu.offsetWidth); - } else if (menuCollapsed && JSON.parse(menuCollapsed)) { + } else if (menuCollapsed) { this.closeMenu(); } else { this.setWidth(); } - const currentProject:CurrentProjectService = this.injector.get(CurrentProjectService); - if (jQuery(document.body).hasClass('controller-my') && this.elementWidth === 0 || currentProject.id === null) { - this.saveWidth(this.defaultWidth); - } + this.adjustMenuVisibility(); + } - // small desktop version default: hide menu on initialization - this.closeWhenOnSmallDesktop(); + private onWindowResize():void { + this.adjustMenuVisibility(); + } + + private adjustMenuVisibility():void { + if (window.innerWidth >= 1012) { + // On larger screens, reopen the menu if it was hidden only due to screen resizing + if (this.wasHiddenDueToResize && !this.wasCollapsedByUser) { + this.setWidth(this.defaultWidth); + this.wasHiddenDueToResize = false; // Reset the flag since the menu is now shown + } + } else if (this.showNavigation) { + this.closeMenu(); + this.wasHiddenDueToResize = true; // Indicate that the menu was hidden due to resize + } } - // click on arrow or hamburger icon public toggleNavigation(event?:JQuery.TriggeredEvent|Event):void { if (event) { event.stopPropagation(); event.preventDefault(); } - if (!this.showNavigation) { // sidebar is hidden -> show menu - if (this.deviceService.isSmallDesktop) { // small desktop version - this.setWidth(window.innerWidth); - } else { // desktop version - const savedWidth = parseInt(window.OpenProject.guardedLocalStorage(this.localStorageKey) as string); - const widthToSave = savedWidth >= this.elementMinWidth ? savedWidth : this.defaultWidth; + // Update the user collapse flag and clear `wasHiddenDueToResize` + this.wasCollapsedByUser = this.showNavigation; + this.wasHiddenDueToResize = false; // Reset because a manual toggle overrides any resize behavior - this.saveWidth(widthToSave); - } - } else { // sidebar is expanded -> close menu + if (this.showNavigation) { this.closeMenu(); + } else { + this.openMenu(); } + // Save the collapsed state in localStorage + window.OpenProject.guardedLocalStorage(this.localStorageStateKey, String(!this.showNavigation)); // Set focus on first visible main menu item. // This needs to be called after AngularJS has rendered the menu, which happens some when after(!) we leave this // method here. So we need to set the focus after a timeout. @@ -129,48 +147,43 @@ export class MainMenuToggleService { public closeMenu():void { this.setWidth(0); - window.OpenProject.guardedLocalStorage(this.localStorageStateKey, 'true'); jQuery('.searchable-menu--search-input').blur(); } - public closeWhenOnSmallDesktop():void { - if (this.deviceService.isSmallDesktop) { - this.closeMenu(); - window.OpenProject.guardedLocalStorage(this.localStorageStateKey, 'false'); - } - } - - public saveWidth(width?:number):void { - this.setWidth(width); - window.OpenProject.guardedLocalStorage(this.localStorageKey, String(this.elementWidth)); - window.OpenProject.guardedLocalStorage(this.localStorageStateKey, String(this.elementWidth === 0)); + public openMenu():void { + this.setWidth(this.defaultWidth); } - public setWidth(width?:any):void { + public setWidth(width?:number):void { if (width !== undefined) { - // Leave a minimum amount of space for space for the content - const maxMenuWidth = this.deviceService.isSmallDesktop ? window.innerWidth - 120 : window.innerWidth - 520; - if (width > maxMenuWidth) { - this.elementWidth = maxMenuWidth; - } else { - this.elementWidth = width as number; - } + this.elementWidth = width; } + // Apply the width directly to the main menu + this.mainMenu.style.width = `${this.elementWidth}px`; + + // Apply to root CSS variable for any related layout adjustments + this.htmlNode.style.setProperty('--main-menu-width', `${this.elementWidth}px`); + + // Check if menu is open or closed and apply CSS class if needed + this.toggleClassHidden(); this.snapBack(); this.setToggleTitle(); - this.toggleClassHidden(); - this.global.showNavigation = this.showNavigation; - this.htmlNode.style.setProperty('--main-menu-width', `${this.elementWidth}px`); + // Save the width if it's open + if (this.elementWidth > 0) { + window.OpenProject.guardedLocalStorage(this.localStorageKey, String(this.elementWidth)); + } + } - // Send change event when size of menu is changing (menu toggled or resized) - const changeEvent = jQuery.Event('change'); - this.changeData.next(changeEvent); + public saveWidth(width?:number):void { + this.setWidth(width); + window.OpenProject.guardedLocalStorage(this.localStorageKey, String(this.elementWidth)); + window.OpenProject.guardedLocalStorage(this.localStorageStateKey, String(this.elementWidth === 0)); } public get showNavigation():boolean { - return (this.elementWidth >= this.elementMinWidth); + return this.elementWidth >= this.elementMinWidth; } private snapBack():void { @@ -189,6 +202,7 @@ export class MainMenuToggleService { } private toggleClassHidden():void { - this.hideElements.toggleClass('hidden-navigation', !this.showNavigation); + const isHidden = this.elementWidth < this.elementMinWidth; + this.hideElements.toggleClass('hidden-navigation', isHidden); } } From 19cd391bef1a8f7e54c5bd837c86d69bc1a15433 Mon Sep 17 00:00:00 2001 From: ulferts Date: Wed, 11 Dec 2024 08:32:10 +0100 Subject: [PATCH 075/121] adapt rails patch version --- lib/open_project/patches/mailer_controller_preview.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/open_project/patches/mailer_controller_preview.rb b/lib/open_project/patches/mailer_controller_preview.rb index 04090d2d853f..52fcc99e442f 100644 --- a/lib/open_project/patches/mailer_controller_preview.rb +++ b/lib/open_project/patches/mailer_controller_preview.rb @@ -41,6 +41,6 @@ def extend_content_security_policy end end -OpenProject::Patches.patch_gem_version "rails", "7.1.5" do +OpenProject::Patches.patch_gem_version "rails", "7.1.5.1" do Rails::MailersController.include OpenProject::Patches::MailerControllerCsp end From 5e9101998f0cced0a54ff738d725114b90df312f Mon Sep 17 00:00:00 2001 From: ulferts Date: Wed, 11 Dec 2024 08:57:41 +0100 Subject: [PATCH 076/121] attempt to stabilize flickering relations spec The spec used to check for the non existence of an .ng-option element with the text being the id of the current work package. Depending on the order the specs are run in it could happen that another work package ended up having that number as part of its subject. In such a case, that work package was returned. Looking for the subject avoids the unspecificity. --- .../details/relations/primerized_relations_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/features/work_packages/details/relations/primerized_relations_spec.rb b/spec/features/work_packages/details/relations/primerized_relations_spec.rb index 7160370fd0e1..9df9f15678bd 100644 --- a/spec/features/work_packages/details/relations/primerized_relations_spec.rb +++ b/spec/features/work_packages/details/relations/primerized_relations_spec.rb @@ -316,7 +316,7 @@ def label_for_relation_type(relation_type) results_selector: "body") expect_no_ng_option(autocomplete_field, - work_package.id, + work_package.subject, results_selector: "body") end end From 33276fcdfab450ba88aebdbdf72ef1627ccf3a6a Mon Sep 17 00:00:00 2001 From: Andreas Pfohl Date: Mon, 9 Dec 2024 09:44:19 +0100 Subject: [PATCH 077/121] [59468] Removed embedded file links colelction from work package resource --- .../v3/file_links/file_link_relation_representer.rb | 12 ------------ .../api/v3/work_packages/create_resource_spec.rb | 10 +++++----- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/modules/storages/lib/api/v3/file_links/file_link_relation_representer.rb b/modules/storages/lib/api/v3/file_links/file_link_relation_representer.rb index f373be81cdda..58b725ad70eb 100644 --- a/modules/storages/lib/api/v3/file_links/file_link_relation_representer.rb +++ b/modules/storages/lib/api/v3/file_links/file_link_relation_representer.rb @@ -45,18 +45,6 @@ module FileLinkRelationRepresenter method: :post } end - - property :file_links, - embedded: true, - exec_context: :decorator, - if: ->(*) { embed_links && current_user.allowed_in_project?(:view_file_links, represented.project) }, - uncacheable: true - - def file_links - ::API::V3::FileLinks::FileLinkCollectionRepresenter.new(represented.file_links, - self_link: api_v3_paths.file_links(represented.id), - current_user:) - end end end end diff --git a/spec/requests/api/v3/work_packages/create_resource_spec.rb b/spec/requests/api/v3/work_packages/create_resource_spec.rb index cc6ff6015d5a..de07c44385a5 100644 --- a/spec/requests/api/v3/work_packages/create_resource_spec.rb +++ b/spec/requests/api/v3/work_packages/create_resource_spec.rb @@ -113,7 +113,7 @@ end it "creates a work package" do - expect(WorkPackage.all.count).to eq(1) + expect(WorkPackage.count).to eq(1) end it "uses the given parameters" do @@ -152,7 +152,7 @@ it_behaves_like "multiple errors", 422 it "does not create a work package" do - expect(WorkPackage.all.count).to eq(0) + expect(WorkPackage.count).to eq(0) end end @@ -176,7 +176,7 @@ end it "does not create a work package" do - expect(WorkPackage.all.count).to eq(0) + expect(WorkPackage.count).to eq(0) end end @@ -227,7 +227,7 @@ end it "does not create a work package" do - expect(WorkPackage.all.count).to eq(0) + expect(WorkPackage.count).to eq(0) end end @@ -310,7 +310,7 @@ expect(last_response.body).to be_json_eql( api_v3_paths.file_links(work_package.id).to_json ).at_path("_links/fileLinks/href") - expect(last_response.body).to be_json_eql("1").at_path("_embedded/fileLinks/total") + expect(last_response.body).to have_json_path("_links/addFileLink") end end end From 5334220f71ac0426ab5171c7ae5e80c7b7f71b6f Mon Sep 17 00:00:00 2001 From: ulferts Date: Wed, 11 Dec 2024 11:07:11 +0100 Subject: [PATCH 078/121] adapt refrence after merge of WikiPage and WikiContent --- app/views/wiki/export_multiple.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/wiki/export_multiple.html.erb b/app/views/wiki/export_multiple.html.erb index 83462dae26a2..f7f3daa7f2f8 100644 --- a/app/views/wiki/export_multiple.html.erb +++ b/app/views/wiki/export_multiple.html.erb @@ -53,7 +53,7 @@ See COPYRIGHT and LICENSE files for more details. <% @pages.each do |page| %>
    - <%= format_text page.content ,:text, wiki_links: :anchor %> + <%= format_text page ,:text, wiki_links: :anchor %> <% end %> From b563bffae15afa8759f402166a2fe4d5a5779956 Mon Sep 17 00:00:00 2001 From: Klaus Zanders Date: Wed, 11 Dec 2024 13:47:51 +0100 Subject: [PATCH 079/121] add a turbo action to append a caption to a primer input element --- .../concerns/op_turbo/component_stream.rb | 10 ++++++-- .../src/turbo/input-caption-stream-action.ts | 24 +++++++++++++++++++ frontend/src/turbo/setup.ts | 6 ++++- 3 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 frontend/src/turbo/input-caption-stream-action.ts diff --git a/app/controllers/concerns/op_turbo/component_stream.rb b/app/controllers/concerns/op_turbo/component_stream.rb index 6d3b3fa27162..6cc60cd36918 100644 --- a/app/controllers/concerns/op_turbo/component_stream.rb +++ b/app/controllers/concerns/op_turbo/component_stream.rb @@ -74,8 +74,8 @@ def add_before_via_turbo_stream(component:, target_component:) turbo_streams << target_component.insert_as_turbo_stream(component:, view_context:, action: :before) end - def render_error_flash_message_via_turbo_stream(**kwargs) - update_flash_message_via_turbo_stream(**kwargs.merge(scheme: :danger, icon: :stop)) + def render_error_flash_message_via_turbo_stream(**) + update_flash_message_via_turbo_stream(**, scheme: :danger, icon: :stop) end def update_flash_message_via_turbo_stream(message:, component: OpPrimer::FlashComponent, **) @@ -89,6 +89,12 @@ def scroll_into_view_via_turbo_stream(target, behavior: :auto, block: :start) .render_in(view_context) end + def add_caption_to_input_element_via_turbo_stream(target, caption:, clean_other_captions: true) + turbo_streams << OpTurbo::StreamComponent + .new(action: :addInputCaption, target:, caption:, clean_other_captions:) + .render_in(view_context) + end + def turbo_streams @turbo_streams ||= [] end diff --git a/frontend/src/turbo/input-caption-stream-action.ts b/frontend/src/turbo/input-caption-stream-action.ts new file mode 100644 index 000000000000..1746be1b006b --- /dev/null +++ b/frontend/src/turbo/input-caption-stream-action.ts @@ -0,0 +1,24 @@ +import { StreamActions, StreamElement } from '@hotwired/turbo'; + +export function registerInputCaptionStreamAction() { + StreamActions.addInputCaption = function addInputCaptionAction(this:StreamElement) { + const target = document.querySelector(this.target); + if (target) { + const formControl = (target as HTMLElement).closest('.FormControl') as HTMLElement; + + if (this.getAttribute('clean_other_captions') === 'true') { + formControl + .querySelectorAll('.FormControl-caption') + .forEach((caption) => caption.remove()); + } + + const caption = this.getAttribute('caption'); + if (caption && caption !== '') { + const span = document.createElement('span'); + span.className = 'FormControl-caption'; + span.innerText = caption; + formControl.append(span); + } + } + }; +} diff --git a/frontend/src/turbo/setup.ts b/frontend/src/turbo/setup.ts index 0a32ec07b8a0..bec41611609b 100644 --- a/frontend/src/turbo/setup.ts +++ b/frontend/src/turbo/setup.ts @@ -4,6 +4,7 @@ import TurboPower from 'turbo_power'; import { registerDialogStreamAction } from './dialog-stream-action'; import { addTurboEventListeners } from './turbo-event-listeners'; import { registerFlashStreamAction } from './flash-stream-action'; +import { registerInputCaptionStreamAction } from './input-caption-stream-action'; import { addTurboGlobalListeners } from './turbo-global-listeners'; import { applyTurboNavigationPatch } from './turbo-navigation-patch'; import { debugLog, whenDebugging } from 'core-app/shared/helpers/debug_output'; @@ -29,6 +30,7 @@ addTurboEventListeners(); addTurboGlobalListeners(); registerDialogStreamAction(); registerFlashStreamAction(); +registerInputCaptionStreamAction(); // Apply navigational patch // https://github.com/hotwired/turbo/issues/1300 @@ -39,7 +41,9 @@ TurboPower.initialize(Turbo.StreamActions); // Error handling when "Content missing" returned document.addEventListener('turbo:frame-missing', (event:CustomEvent) => { - const { detail: { response, visit } } = event as { detail:{ response:Response, visit:(url:string) => void } }; + const { + detail: { response, visit }, + } = event as { detail:{ response:Response; visit:(url:string) => void } }; event.preventDefault(); visit(response.url); }); From 482b7d7d27b39b916916c708c5af54337b4d2c1b Mon Sep 17 00:00:00 2001 From: Eric Schubert Date: Wed, 11 Dec 2024 15:20:45 +0100 Subject: [PATCH 080/121] [#59985] add validation check to custom field controller - https://community.openproject.org/work_packages/59985 - do not allow creation of custom fields of type hierarchy --- app/controllers/custom_fields_controller.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/controllers/custom_fields_controller.rb b/app/controllers/custom_fields_controller.rb index 2beb4cfd0ff5..c280ec2dfebb 100644 --- a/app/controllers/custom_fields_controller.rb +++ b/app/controllers/custom_fields_controller.rb @@ -30,14 +30,17 @@ class CustomFieldsController < ApplicationController include CustomFields::SharedActions # share logic with ProjectCustomFieldsControlller layout "admin" + # rubocop:disable Rails/LexicallyScopedActionFilter before_action :require_admin before_action :find_custom_field, only: %i(edit update destroy delete_option reorder_alphabetical) before_action :prepare_custom_option_position, only: %i(update create) before_action :find_custom_option, only: :delete_option + before_action :validate_enterprise_token, only: %i(create) + # rubocop:enable Rails/LexicallyScopedActionFilter def index # loading wp cfs exclicity to allow for eager loading - @custom_fields_by_type = CustomField.all + @custom_fields_by_type = CustomField .where.not(type: ["WorkPackageCustomField", "ProjectCustomField"]) .group_by { |f| f.class.name } @@ -64,6 +67,12 @@ def show_local_breadcrumb false end + def validate_enterprise_token + if params.dig(:custom_field, :field_format) == "hierarchy" && !EnterpriseToken.allows_to?(:custom_field_hierarchies) + render_403 + end + end + def find_custom_field @custom_field = CustomField.find(params[:id]) rescue ActiveRecord::RecordNotFound From 94a4abee6f1043e5e9f2940af3f51268a48e9655 Mon Sep 17 00:00:00 2001 From: ulferts Date: Wed, 11 Dec 2024 14:26:13 +0100 Subject: [PATCH 081/121] add enterprise edition banner component --- app/components/_index.sass | 1 + .../banner_component.html.erb | 19 ++ .../enterprise_edition/banner_component.rb | 107 ++++++++++ .../enterprise_edition/banner_component.sass | 68 ++++++ config/locales/en.yml | 2 + .../global_styles/content/_enterprise.sass | 3 + .../banner_component_preview.rb | 79 +++++++ .../banner_component_spec.rb | 197 ++++++++++++++++++ 8 files changed, 476 insertions(+) create mode 100644 app/components/enterprise_edition/banner_component.html.erb create mode 100644 app/components/enterprise_edition/banner_component.rb create mode 100644 app/components/enterprise_edition/banner_component.sass create mode 100644 lookbook/previews/open_project/enterprise_edition/banner_component_preview.rb create mode 100644 spec/components/enterprise_edition/banner_component_spec.rb diff --git a/app/components/_index.sass b/app/components/_index.sass index 0941b751e3c6..6a5cdf14d43e 100644 --- a/app/components/_index.sass +++ b/app/components/_index.sass @@ -19,3 +19,4 @@ @import "work_packages/exports/modal_dialog_component" @import "work_package_relations_tab/index_component" @import "users/hover_card_component" +@import "enterprise_edition/banner_component" diff --git a/app/components/enterprise_edition/banner_component.html.erb b/app/components/enterprise_edition/banner_component.html.erb new file mode 100644 index 000000000000..5161729b5d58 --- /dev/null +++ b/app/components/enterprise_edition/banner_component.html.erb @@ -0,0 +1,19 @@ +<%= + grid_layout("op-ee-banner", **@system_arguments) do |grid| + grid.with_area(:'icon-container') do + content_tag :div, class: "op-ee-banner--shield" do + render(Primer::Beta::Octicon.new(icon: 'op-enterprise-addons', + size: :medium, + classes: "op-ee-banner--icon")) + end + end + grid.with_area(:'title-container') { render(Primer::Beta::Text.new) { title } } + grid.with_area(:'description-container') { render(Primer::Beta::Text.new) { description } } + grid.with_area(:'link-container') do + render(Primer::Beta::Link.new(href: href)) do |link| + link.with_trailing_visual_icon(icon: 'link-external') + link_title + end + end + end +%> diff --git a/app/components/enterprise_edition/banner_component.rb b/app/components/enterprise_edition/banner_component.rb new file mode 100644 index 000000000000..f7ac7ed39bab --- /dev/null +++ b/app/components/enterprise_edition/banner_component.rb @@ -0,0 +1,107 @@ +# frozen_string_literal: true + +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 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 EnterpriseEdition + # Add a general description of component here + # Add additional usage considerations or best practices that may aid the user to use the component correctly. + # @accessibility Add any accessibility considerations + class BannerComponent < ApplicationComponent + include OpPrimer::ComponentHelpers + + # @param feature_key [Symbol, NilClass] The key of the feature to show the banner for. + # @param title [String] The title of the banner. + # @param description [String] The description of the banner. + # @param href [String] The URL to link to. + # @param skip_render [Boolean] Whether to skip rendering the banner. + # @param system_arguments [Hash] <%= link_to_system_arguments_docs %> + def initialize(feature_key, + title: nil, + description: nil, + link_title: nil, + href: nil, + skip_render: !EnterpriseToken.show_banners?, + **system_arguments) + @system_arguments = system_arguments + @system_arguments[:tag] = "div" + super + + @feature_key = feature_key + @title = title + @description = description + @link_title = link_title + @href = href + @skip_render = skip_render + end + + private + + attr_reader :skip_render, + :feature_key + + def title + @title || I18n.t("ee.upsale.#{feature_key}.title", default: I18n.t("ee.upsale.title")) + end + + def description + @description || begin + I18n.t("ee.upsale.#{feature_key}.description") + rescue StandardError + I18n.t("ee.upsale.#{feature_key}.description_html") + end + rescue I18n::MissingTranslationData => e + raise e.exception( + <<~TEXT.squish + The expected '#{I18n.locale}.ee.upsale.#{feature_key}.description' key does not exist. + Ideally, provide it in the locale file. + If that isn't applicable, a description parameter needs to be provided. + TEXT + ) + end + + def link_title + @link_title || I18n.t("ee.upsale.#{feature_key}.link_title", default: I18n.t("ee.upsale.link_title")) + end + + def href + href_value = @href || OpenProject::Static::Links.links.dig(:enterprise_docs, feature_key, :href) + + unless href_value + raise "Neither a custom href is provided nor is a value set " \ + "in OpenProject::Static::Links.enterprise_docs[#{feature_key}][:href]" + end + + href_value + end + + def render? + !skip_render + end + end +end diff --git a/app/components/enterprise_edition/banner_component.sass b/app/components/enterprise_edition/banner_component.sass new file mode 100644 index 000000000000..d8ca7bc2f193 --- /dev/null +++ b/app/components/enterprise_edition/banner_component.sass @@ -0,0 +1,68 @@ +/*! + / -- copyright + / OpenProject is an open source project management software. + / Copyright (C) 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. + / ++ + / + +$op-ee-banner--shield-width: 32px + +// This is not named op-enterprise-banner because as of now, there is still a legacy angular component that uses that block name. +.op-ee-banner + display: grid + grid-template-columns: $op-ee-banner--shield-width auto auto + grid-template-areas: "icon-container title-container" "icon-container description-container" "icon-container link-container" + grid-column-gap: 0.5rem + justify-content: left + @media screen and (min-width: $breakpoint-md) + grid-template-areas: "icon-container title-container title-container" "icon-container description-container link-container" + + &--icon-container + @extend .upsale-colored + align-self: start + justify-self: center + + &--shield + @extend .upsale-border-colored + width: $op-ee-banner--shield-width + height: 42px + border-width: 10px 5px 10px 5px + border-radius: 0 0 10px 10px + border-style: solid + display: flex + align-items: center + justify-content: center + + &--icon + width: $op-ee-banner--shield-width + height: $op-ee-banner--shield-width + + &--title-container + @extend .upsale-colored + font-weight: bold + + &--link-container + align-self: end diff --git a/config/locales/en.yml b/config/locales/en.yml index 1685f8e4ccf8..4170f0c63894 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1848,6 +1848,8 @@ en: ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" diff --git a/frontend/src/global_styles/content/_enterprise.sass b/frontend/src/global_styles/content/_enterprise.sass index b1f6e45fcb57..04e10759e463 100644 --- a/frontend/src/global_styles/content/_enterprise.sass +++ b/frontend/src/global_styles/content/_enterprise.sass @@ -55,6 +55,9 @@ .upsale-colored color: $spot-color-feedback-warning-dark +.upsale-border-colored + border-color: $spot-color-feedback-warning-dark + .widget-box--blocks--upsale-title font-weight: 400 font-size: 20px diff --git a/lookbook/previews/open_project/enterprise_edition/banner_component_preview.rb b/lookbook/previews/open_project/enterprise_edition/banner_component_preview.rb new file mode 100644 index 000000000000..a6ce8c932c6d --- /dev/null +++ b/lookbook/previews/open_project/enterprise_edition/banner_component_preview.rb @@ -0,0 +1,79 @@ +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 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 EnterpriseEdition + # @logical_path OpenProject/EnterpriseEdition + class BannerComponentPreview < Lookbook::Preview + # The easiest way to render the banner component is to provide a feature key and + # have the assorted data structures match the expectations. + # The text will be fetched from the i18n files: + # ``` + # en: + # ee: + # # Title used unless it is overwritten for the specific feature + # title: "Enterprise add-on" + # # Title of the link used unless it is overwritten for the specific feature + # link_title: "More information" + # upsale: + # [feature_key]: + # # Title used for this feature only. If this is missing, the default title is used. + # title: "A splendid feature" + # # Could also be description_html if necessary + # description: "This is a splendid feature that you should use. It just might transform your life." + # # Title of the link used for this feature only. If this is missing, the default link title is used. + # title_link: "Even more information" + # ``` + # + # The href is inferred from `OpenProject::Static::Links.enterprise_docs[feature_key][:href]`. + # + # The value of `EnterpriseToken.show_banners?` is used to determine whether the banner should be shown. For this + # example, that value is overwritten as the banner might otherwise not show up in the preview. + def default + render( + ::EnterpriseEdition::BannerComponent + .new(:form_configuration, + skip_render: false) + ) + end + + # The defaults can be completely overwritten. This should be used sparingly. + def manual_overwrite + render( + ::EnterpriseEdition::BannerComponent + .new(nil, + title: "A splendid feature", + description: "This is a splendid feature that you should use. It just might transform your life.", + href: "https://www.openproject.org", + link_title: "Get more information", + skip_render: false) + ) + end + end + end +end diff --git a/spec/components/enterprise_edition/banner_component_spec.rb b/spec/components/enterprise_edition/banner_component_spec.rb new file mode 100644 index 000000000000..4bdf58bb2692 --- /dev/null +++ b/spec/components/enterprise_edition/banner_component_spec.rb @@ -0,0 +1,197 @@ +# frozen_string_literal: true + +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2010-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 "rails_helper" + +RSpec.describe EnterpriseEdition::BannerComponent, type: :component do + let(:title) { "Some title" } + let(:description) { "Some description" } + let(:href) { "https://www.example.org" } + let(:link_title) { "Get more information" } + let(:ee_show_banners) { true } + let(:enforce_available_locales) { I18n.config.enforce_available_locales } + let(:i18n_upsale) do + { + title:, + link_title:, + some_enterprise_feature: { + description: + } + } + end + let(:static_links) do + { + enterprise_docs: { + some_enterprise_feature: { + href: + } + } + } + end + + let(:render_component) do + render_inline(described_class.new(:some_enterprise_feature)) + end + + let(:render_component_in_mo) do + I18n.with_locale :mo do + render_component + end + end + + before do + allow(EnterpriseToken) + .to receive(:show_banners?) + .and_return(ee_show_banners) + allow(OpenProject::Static::Links) + .to receive(:links) + .and_return(static_links) + + I18n.config.enforce_available_locales = !enforce_available_locales + + I18n.backend.store_translations( + :mo, + { + ee: { + upsale: i18n_upsale + } + } + ) + end + + after do + I18n.backend.translations.delete(:mo) + I18n.config.enforce_available_locales = enforce_available_locales + end + + shared_examples_for "renders the component" do + it "renders the component" do + render_component_in_mo + + expect(page).to have_css ".op-ee-banner--title-container", text: title + expect(page).to have_css ".op-ee-banner--description-container", text: description + expect(page).to have_link link_title, href: + end + end + + it_behaves_like "renders the component" + + context "with a description_html in the i18n file" do + let(:i18n_upsale) do + { + title:, + link_title:, + some_enterprise_feature: { + description_html: description + } + } + end + + it_behaves_like "renders the component" + end + + context "with a more specific title in the i18n file" do + let(:i18n_upsale) do + { + title: "The general title", + link_title:, + some_enterprise_feature: { + title:, + description: + } + } + end + + it_behaves_like "renders the component" + end + + context "with a more specific link title in the i18n file" do + let(:i18n_upsale) do + { + title:, + link_title: "The general link title", + some_enterprise_feature: { + link_title:, + description: + } + } + end + + it_behaves_like "renders the component" + end + + context "without a description key in the i18n file" do + let(:i18n_upsale) do + { + title:, + link_title:, + some_enterprise_feature: {} + } + end + + it "raises an error" do + expect { render_component_in_mo }.to raise_error(I18n::MissingTranslationData) + end + end + + context "without a link key in the static_link file" do + let(:static_links) do + { + enterprise_docs: { + some_enterprise_feature: {} + } + } + end + + it "raises an error" do + expect { render_component_in_mo }.to raise_error(RuntimeError) + end + end + + context "if banners are hidden" do + let(:ee_show_banners) { false } + + it "hides the component" do + render_component_in_mo + + expect(page).to have_no_css ".op-ee-banner" + end + end + + context "if banners are hidden but skip_render is overwritten" do + let(:ee_show_banners) { false } + let(:render_component) do + render_inline(described_class.new(:some_enterprise_feature, + skip_render: false)) + end + + it_behaves_like "renders the component" + end +end From df386cf04050d8d0ddbdb726723f2c781328b06c Mon Sep 17 00:00:00 2001 From: ulferts Date: Tue, 10 Dec 2024 15:25:04 +0100 Subject: [PATCH 082/121] remove now duplicate i18n key --- app/components/shares/project_queries/upsale_component.html.erb | 2 +- .../shares/work_packages/modal_upsale_component.html.erb | 2 +- app/helpers/custom_fields_helper.rb | 2 +- config/locales/en.yml | 1 - spec/support/components/sharing/share_modal.rb | 2 +- 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/components/shares/project_queries/upsale_component.html.erb b/app/components/shares/project_queries/upsale_component.html.erb index 1f0a77a91888..946bbda996a5 100644 --- a/app/components/shares/project_queries/upsale_component.html.erb +++ b/app/components/shares/project_queries/upsale_component.html.erb @@ -1,7 +1,7 @@ <%= modal_content.with_row(data: { 'test-selector': 'op-share-dialog-upsale-block' }) do render Primer::OpenProject::FeedbackMessage.new(icon_arguments: { icon: :"op-enterprise-addons", classes: "upsale-colored" }, border: true) do |component| - component.with_heading(tag: :h2, classes: 'upsale-colored').with_content(I18n.t(:label_enterprise_addon)) + component.with_heading(tag: :h2, classes: 'upsale-colored').with_content(I18n.t(:"ee.upsale.title")) component.with_description { I18n.t('sharing.project_queries.upsale.message') } href = "#{OpenProject::Static::Links.links[:upsale][:href]}/?utm_source=unknown&utm_medium=community-edition&utm_campaign=project-list-sharing-modal" diff --git a/app/components/shares/work_packages/modal_upsale_component.html.erb b/app/components/shares/work_packages/modal_upsale_component.html.erb index f1be3ab6dc33..036bc35a673b 100644 --- a/app/components/shares/work_packages/modal_upsale_component.html.erb +++ b/app/components/shares/work_packages/modal_upsale_component.html.erb @@ -1,7 +1,7 @@ <%= component_wrapper(tag: 'turbo-frame') do render Primer::OpenProject::FeedbackMessage.new(icon_arguments: { icon: :"op-enterprise-addons", classes: "upsale-colored" }, border: true) do |component| - component.with_heading(tag: :h2, classes: 'upsale-colored').with_content(I18n.t(:label_enterprise_addon)) + component.with_heading(tag: :h2, classes: 'upsale-colored').with_content(I18n.t(:"ee.upsale.title")) component.with_description { I18n.t('mail.sharing.work_packages.enterprise_text') } href = "#{OpenProject::Static::Links.links[:upsale][:href]}/?utm_source=unknown&utm_medium=community-edition&utm_campaign=work-package-sharing-modal" diff --git a/app/helpers/custom_fields_helper.rb b/app/helpers/custom_fields_helper.rb index 1c9d15ae2087..01012b0b0380 100644 --- a/app/helpers/custom_fields_helper.rb +++ b/app/helpers/custom_fields_helper.rb @@ -224,7 +224,7 @@ def label_for_custom_field_format(format_string) label = format.label.is_a?(Proc) ? format.label.call : I18n.t(format.label) show_enterprise_text = format_string == "hierarchy" && !EnterpriseToken.allows_to?(:custom_field_hierarchies) - suffix = show_enterprise_text ? " (#{I18n.t(:label_enterprise_addon)})" : "" + suffix = show_enterprise_text ? " (#{I18n.t(:"ee.upsale.title")})" : "" "#{label}#{suffix}" end diff --git a/config/locales/en.yml b/config/locales/en.yml index 4170f0c63894..e6b92a4e01cc 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2407,7 +2407,6 @@ en: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" diff --git a/spec/support/components/sharing/share_modal.rb b/spec/support/components/sharing/share_modal.rb index d880da1ac960..11b846cb1b39 100644 --- a/spec/support/components/sharing/share_modal.rb +++ b/spec/support/components/sharing/share_modal.rb @@ -380,7 +380,7 @@ def select_not_existing_user_option(email) def expect_upsale_banner within_modal do expect(page) - .to have_text(I18n.t(:label_enterprise_addon)) + .to have_text(I18n.t(:"ee.upsale.title")) end end From 90789ea9195659ca3a96dc57bb1b00ecb912ffc1 Mon Sep 17 00:00:00 2001 From: ulferts Date: Wed, 11 Dec 2024 14:39:03 +0100 Subject: [PATCH 083/121] remove outdated ee i18n --- config/locales/en.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index e6b92a4e01cc..28b1ed8a3706 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1854,8 +1854,6 @@ en: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" From a6f596c9151cd257f53acd19d1ed32d088bd0c00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 11 Dec 2024 16:00:04 +0100 Subject: [PATCH 084/121] Fix blankslate duplicate info and being too verbose https://community.openproject.org/work_packages/59867 --- .../blank_slate_component.html.erb | 13 +++++++------ .../meeting_agenda_items/list_component.html.erb | 4 ++-- .../meeting_agenda_items/list_component.rb | 4 ++++ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/modules/meeting/app/components/meeting_agenda_items/blank_slate_component.html.erb b/modules/meeting/app/components/meeting_agenda_items/blank_slate_component.html.erb index 3380f57b5620..44f1977e1331 100644 --- a/modules/meeting/app/components/meeting_agenda_items/blank_slate_component.html.erb +++ b/modules/meeting/app/components/meeting_agenda_items/blank_slate_component.html.erb @@ -8,14 +8,15 @@ flex.with_row(mb: 2) do render(Primer::Beta::Text.new(color: :subtle)) { t(:"recurring_meeting.template.description") } end + else + flex.with_row(mb: 2) do + render(Primer::Beta::Text.new(color: :subtle)) { t(:text_meeting_empty_description_1) } + end + flex.with_row do + render(Primer::Beta::Text.new(color: :subtle)) { t(:text_meeting_empty_description_2) } + end end - flex.with_row(mb: 2) do - render(Primer::Beta::Text.new(color: :subtle)) { t(:text_meeting_empty_description_1) } - end - flex.with_row do - render(Primer::Beta::Text.new(color: :subtle)) { t(:text_meeting_empty_description_2) } - end if can_finalize_template? flex.with_row(mt: 2) do render(Primer::Beta::Text.new(font_weight: :bold, color: :subtle)) do diff --git a/modules/meeting/app/components/meeting_agenda_items/list_component.html.erb b/modules/meeting/app/components/meeting_agenda_items/list_component.html.erb index 3941939e1767..174a85ae63be 100644 --- a/modules/meeting/app/components/meeting_agenda_items/list_component.html.erb +++ b/modules/meeting/app/components/meeting_agenda_items/list_component.html.erb @@ -1,7 +1,7 @@ <%= component_wrapper(data: wrapper_data_attributes) do flex_layout(mb: 3) do |flex| - if @meeting.template? + if @meeting.template? && !empty? flex.with_row(mb: 3) do render Primer::Alpha::Banner.new(scheme: :default, icon: :info, @@ -21,7 +21,7 @@ ) ) end - if @meeting.agenda_items.empty? && @meeting.sections.empty? + if empty? flex.with_row do render(border_box_container) do |border_box| if @form_hidden diff --git a/modules/meeting/app/components/meeting_agenda_items/list_component.rb b/modules/meeting/app/components/meeting_agenda_items/list_component.rb index 92cd53f9b065..709fd947170c 100644 --- a/modules/meeting/app/components/meeting_agenda_items/list_component.rb +++ b/modules/meeting/app/components/meeting_agenda_items/list_component.rb @@ -40,6 +40,10 @@ def initialize(meeting:, form_hidden: true, form_type: :simple) @form_type = form_type end + def empty? + @meeting.agenda_items.empty? && @meeting.sections.empty? + end + private def wrapper_data_attributes From bb7daa8fa59a4d1f18feff5b96d116c00823cf7e Mon Sep 17 00:00:00 2001 From: Marcello Rocha Date: Wed, 11 Dec 2024 17:12:46 +0100 Subject: [PATCH 085/121] Changing the where into a find to avoid random weird ordering (#17435) * Changing the where into a find to avoid random weird ordering * Adds missing test, ensures ordering by using the passed ids as the main mapping source * Adds new translation key --- config/locales/en.yml | 1 + .../journal_formatter/custom_field/plain.rb | 8 +++++--- spec/lib/journal_formatter/custom_field_spec.rb | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index 4a7cc7f32a62..af22402a0378 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2369,6 +2369,7 @@ en: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/lib/open_project/journal_formatter/custom_field/plain.rb b/lib/open_project/journal_formatter/custom_field/plain.rb index a0ed17f05b27..a7a94fd3dbb9 100644 --- a/lib/open_project/journal_formatter/custom_field/plain.rb +++ b/lib/open_project/journal_formatter/custom_field/plain.rb @@ -93,10 +93,12 @@ def find_user_value(value, _custom_field) def find_item_value(value, _custom_field) ids = value.split(",").map(&:to_i) - CustomField::Hierarchy::Item.where(id: ids).map do |item| - next I18n.t(:label_deleted_custom_option) unless ids.include?(item.id) + items = CustomField::Hierarchy::Item.where(id: ids).index_by(&:id) - item.ancestry_path + ids.map do |id| + next I18n.t(:label_deleted_custom_item) unless items[id] + + items[id].ancestry_path end.join(", ") end diff --git a/spec/lib/journal_formatter/custom_field_spec.rb b/spec/lib/journal_formatter/custom_field_spec.rb index e86d3fb90999..9287ee055570 100644 --- a/spec/lib/journal_formatter/custom_field_spec.rb +++ b/spec/lib/journal_formatter/custom_field_spec.rb @@ -469,6 +469,22 @@ def url_helper = Rails.application.routes.url_helpers it { expect(rendered).to be_html_eql(expected) } end + + describe "with a deleted item" do + let(:values) { [[luke.id, -100].join(","), luke.id.to_s] } + let(:original_value) { [luke.ancestry_path, I18n.t(:label_deleted_custom_item)].join(", ") } + let(:formatted_value) { luke.ancestry_path } + + let(:expected) do + I18n.t(:text_journal_changed_plain, + label: "#{custom_field.name}", + linebreak: "", + old: "#{original_value}", + new: "#{formatted_value}") + end + + it { expect(rendered).to be_html_eql(expected) } + end end end end From 989deb6812a69c52283a5c42ea88d754365e6a40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Tue, 10 Dec 2024 08:33:55 +0100 Subject: [PATCH 086/121] add controller --- .../recurring-meetings/form.controller.ts | 17 ++++++ .../controllers/op-application.controller.ts | 4 +- .../meetings/index/form_component.html.erb | 7 ++- .../frequency_text_component.rb | 56 +++++++++++++++++++ .../app/forms/recurring_meeting/frequency.rb | 4 +- .../app/forms/recurring_meeting/interval.rb | 6 +- 6 files changed, 89 insertions(+), 5 deletions(-) create mode 100644 frontend/src/stimulus/controllers/dynamic/recurring-meetings/form.controller.ts create mode 100644 modules/meeting/app/components/recurring_meetings/frequency_text_component.rb diff --git a/frontend/src/stimulus/controllers/dynamic/recurring-meetings/form.controller.ts b/frontend/src/stimulus/controllers/dynamic/recurring-meetings/form.controller.ts new file mode 100644 index 000000000000..8cbcfd66d28e --- /dev/null +++ b/frontend/src/stimulus/controllers/dynamic/recurring-meetings/form.controller.ts @@ -0,0 +1,17 @@ +import { ApplicationController } from 'stimulus-use'; + +export default class OpRecurringMeetingsFormController extends ApplicationController { + static targets = [ + 'frequency', + 'interval', + ]; + + declare readonly frequencyTarget:HTMLSelectElement; + declare readonly intervalTarget:HTMLInputElement; + + updateFrequencyText():void { + const frequency = this.frequencyTarget.value; + const interval = this.intervalTarget.value; + this.intervalTarget.placeholder = `Every ${frequency}`; + } +} diff --git a/frontend/src/stimulus/controllers/op-application.controller.ts b/frontend/src/stimulus/controllers/op-application.controller.ts index e1234cc820e9..fa3bb750ff96 100644 --- a/frontend/src/stimulus/controllers/op-application.controller.ts +++ b/frontend/src/stimulus/controllers/op-application.controller.ts @@ -8,11 +8,11 @@ export class OpApplicationController extends ApplicationController { dynamicTargetConnected(target:HTMLElement) { const controllers = (target.dataset.controller as string).split(' '); + const registered = this.application.controllers.map((controller) => controller.identifier); controllers.forEach((controller) => { const path = this.derivePath(controller); - - if (!this.loaded.has(controller)) { + if (!registered.includes(controller) && !this.loaded.has(controller)) { this.loaded.add(controller); void import(/* webpackChunkName: "[request]" */`./dynamic/${path}.controller`) .then((imported:{ default:ControllerConstructor }) => this.application.register(controller, imported.default)) diff --git a/modules/meeting/app/components/meetings/index/form_component.html.erb b/modules/meeting/app/components/meetings/index/form_component.html.erb index 82f8c581a1e9..df5076b39abf 100644 --- a/modules/meeting/app/components/meetings/index/form_component.html.erb +++ b/modules/meeting/app/components/meetings/index/form_component.html.erb @@ -6,7 +6,8 @@ method: form_method, data: { turbo: true, - controller: "show-when-value-selected" + controller: "show-when-value-selected recurring-meetings--form", + "application-target": "dynamic" }, html: { id: 'meeting-form' @@ -67,6 +68,10 @@ end end + modal_body.with_row(mt: 1) do + render(RecurringMeeting::EndAfter.new(f)) + end + modal_body.with_row(mt: 3) do render(RecurringMeeting::EndAfter.new(f)) end diff --git a/modules/meeting/app/components/recurring_meetings/frequency_text_component.rb b/modules/meeting/app/components/recurring_meetings/frequency_text_component.rb new file mode 100644 index 000000000000..1ba4d9707b09 --- /dev/null +++ b/modules/meeting/app/components/recurring_meetings/frequency_text_component.rb @@ -0,0 +1,56 @@ +#-- 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. +#++ + +module RecurringMeetings + class FrequencyTextComponent < ApplicationComponent + include ApplicationHelper + include OpTurbo::Streamable + include OpPrimer::ComponentHelpers + + def initialize(frequency:, interval:) + super + + @frequency = frequency + @interval = interval + @current_count = count + @direction = direction + @max_count = max_count + end + + def label + count = @max_count - @current_count + label_suffix = count == 1 ? "_singular" : "" + + if @direction == "past" + I18n.t("label_recurring_meeting_more_past#{label_suffix}", count:) + else + I18n.t("label_recurring_meeting_more#{label_suffix}", count:, schedule: @meeting.schedule_in_words) + end + end + end +end diff --git a/modules/meeting/app/forms/recurring_meeting/frequency.rb b/modules/meeting/app/forms/recurring_meeting/frequency.rb index 06992662d220..66262baa1a7f 100644 --- a/modules/meeting/app/forms/recurring_meeting/frequency.rb +++ b/modules/meeting/app/forms/recurring_meeting/frequency.rb @@ -33,7 +33,9 @@ class RecurringMeeting::Frequency < ApplicationForm label: I18n.t("activerecord.attributes.recurring_meeting.frequency"), data: { target_name: "frequency", - "show-when-value-selected-target": "cause" + "recurring-meetings--form-target": "frequency", + "show-when-value-selected-target": "cause", + action: "input->recurring-meetings--form#updateFrequencyText" } ) do |list| RecurringMeeting.frequencies.each_key do |value| diff --git a/modules/meeting/app/forms/recurring_meeting/interval.rb b/modules/meeting/app/forms/recurring_meeting/interval.rb index 9d598246dd6b..c28f27f4505b 100644 --- a/modules/meeting/app/forms/recurring_meeting/interval.rb +++ b/modules/meeting/app/forms/recurring_meeting/interval.rb @@ -32,7 +32,11 @@ class RecurringMeeting::Interval < ApplicationForm name: :interval, type: :number, label: I18n.t("activerecord.attributes.recurring_meeting.interval"), - caption: I18n.t("recurring_meeting.interval.instructions") + caption: I18n.t("recurring_meeting.interval.instructions"), + data: { + "recurring-meetings--form-target": "interval", + action: "input->recurring-meetings--form#updateFrequencyText" + } ) end end From 0c9788a3bb9ffa0f4caf8071e27950dcfa7ab3f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Tue, 10 Dec 2024 10:12:04 +0100 Subject: [PATCH 087/121] Add validation for interval and iterations --- .../frequency_text_component.rb | 56 ------------------- .../meeting/app/models/recurring_meeting.rb | 12 +++- .../spec/models/recurring_meeting_spec.rb | 52 +++++++++++++++++ 3 files changed, 63 insertions(+), 57 deletions(-) delete mode 100644 modules/meeting/app/components/recurring_meetings/frequency_text_component.rb diff --git a/modules/meeting/app/components/recurring_meetings/frequency_text_component.rb b/modules/meeting/app/components/recurring_meetings/frequency_text_component.rb deleted file mode 100644 index 1ba4d9707b09..000000000000 --- a/modules/meeting/app/components/recurring_meetings/frequency_text_component.rb +++ /dev/null @@ -1,56 +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. -#++ - -module RecurringMeetings - class FrequencyTextComponent < ApplicationComponent - include ApplicationHelper - include OpTurbo::Streamable - include OpPrimer::ComponentHelpers - - def initialize(frequency:, interval:) - super - - @frequency = frequency - @interval = interval - @current_count = count - @direction = direction - @max_count = max_count - end - - def label - count = @max_count - @current_count - label_suffix = count == 1 ? "_singular" : "" - - if @direction == "past" - I18n.t("label_recurring_meeting_more_past#{label_suffix}", count:) - else - I18n.t("label_recurring_meeting_more#{label_suffix}", count:, schedule: @meeting.schedule_in_words) - end - end - end -end diff --git a/modules/meeting/app/models/recurring_meeting.rb b/modules/meeting/app/models/recurring_meeting.rb index 857f4535b673..7711a7057136 100644 --- a/modules/meeting/app/models/recurring_meeting.rb +++ b/modules/meeting/app/models/recurring_meeting.rb @@ -1,4 +1,8 @@ class RecurringMeeting < ApplicationRecord + # Magical maximum of iterations + MAX_ITERATIONS = 1000 + # Magical maximum of interval, derived from other calendars + MAX_INTERVAL = 100 include ::Meeting::VirtualStartTime include Redmine::I18n @@ -7,15 +11,21 @@ class RecurringMeeting < ApplicationRecord validates_presence_of :start_time, :title, :frequency, :end_after validates_presence_of :end_date, if: -> { end_after_specific_date? } - validates_numericality_of :iterations, if: -> { end_after_iterations? } + validates_numericality_of :iterations, + only_integer: true, + greater_than_or_equal_to: 1, + less_than_or_equal_to: MAX_ITERATIONS, + if: -> { end_after_iterations? } validates_numericality_of :interval, only_integer: true, greater_than_or_equal_to: 1, + less_than_or_equal_to: MAX_INTERVAL, if: -> { !frequency_working_days? } validate :end_date_constraints, if: -> { end_after_specific_date? } + after_initialize :set_defaults after_save :unset_schedule enum frequency: { diff --git a/modules/meeting/spec/models/recurring_meeting_spec.rb b/modules/meeting/spec/models/recurring_meeting_spec.rb index 3c6e7f89fb1d..5497bace6a7a 100644 --- a/modules/meeting/spec/models/recurring_meeting_spec.rb +++ b/modules/meeting/spec/models/recurring_meeting_spec.rb @@ -36,6 +36,15 @@ expect(subject.errors[:interval]).to be_empty end + it "validates max value" do + subject.interval = 101 + expect(subject).not_to be_valid + expect(subject.errors[:interval]).to include("must be less than or equal to 100.") + + subject.interval = 100 + expect(subject).to be_valid + end + it "adds errors for invalid values", :aggregate_failures do subject.interval = 0 expect(subject).not_to be_valid @@ -55,6 +64,49 @@ end end + describe "iterations" do + subject { build(:recurring_meeting, end_after: "iterations") } + + it "does not validate if end_after is not iterations" do + subject.end_after = "specific_date" + subject.iterations = nil + expect(subject).to be_valid + end + + it "validates integer values >= 1" do + subject.iterations = 1 + expect(subject).to be_valid + expect(subject.errors[:iterations]).to be_empty + end + + it "validates max value" do + subject.iterations = 1001 + expect(subject).not_to be_valid + expect(subject.errors[:iterations]).to include("must be less than or equal to 1000.") + + subject.iterations = 1000 + expect(subject).to be_valid + end + + it "adds errors for invalid values", :aggregate_failures do + subject.iterations = 0 + expect(subject).not_to be_valid + expect(subject.errors[:iterations]).to include("must be greater than or equal to 1.") + + subject.iterations = -1 + expect(subject).not_to be_valid + expect(subject.errors[:iterations]).to include("must be greater than or equal to 1.") + + subject.iterations = 0.1 + expect(subject).not_to be_valid + expect(subject.errors[:iterations]).to include("is not an integer.") + + subject.iterations = "asdf" + expect(subject).not_to be_valid + expect(subject.errors[:iterations]).to include("is not a number.") + end + end + describe "daily schedule" do subject do build(:recurring_meeting, From 6022f18d2be9e0c044b1d32c525057aece36846e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Tue, 10 Dec 2024 10:12:16 +0100 Subject: [PATCH 088/121] new schedule without end_time --- .../meetings/index/form_component.html.erb | 8 ++-- .../recurring_meetings/footer_component.rb | 2 +- .../show_page_header_component.rb | 2 +- .../app/forms/recurring_meeting/interval.rb | 1 - .../meeting/app/models/recurring_meeting.rb | 47 ++++++++++++------- modules/meeting/config/locales/en.yml | 6 +-- 6 files changed, 37 insertions(+), 29 deletions(-) diff --git a/modules/meeting/app/components/meetings/index/form_component.html.erb b/modules/meeting/app/components/meetings/index/form_component.html.erb index df5076b39abf..b060c4764733 100644 --- a/modules/meeting/app/components/meetings/index/form_component.html.erb +++ b/modules/meeting/app/components/meetings/index/form_component.html.erb @@ -36,15 +36,15 @@ end modal_body.with_row(mt: 3) do - render(Meeting::TimeGroup.new(f, meeting: @meeting)) + render(Meeting::Location.new(f, meeting: @meeting)) end modal_body.with_row(mt: 3) do - render(Meeting::Duration.new(f, meeting: @meeting)) + render(Meeting::TimeGroup.new(f, meeting: @meeting)) end modal_body.with_row(mt: 3) do - render(Meeting::Location.new(f, meeting: @meeting)) + render(Meeting::Duration.new(f, meeting: @meeting)) end if @meeting.is_a?(RecurringMeeting) @@ -69,7 +69,7 @@ end modal_body.with_row(mt: 1) do - render(RecurringMeeting::EndAfter.new(f)) + render(Primer::Beta::Text.new(font_size: :small, color: :subtle)) { @meeting.human_frequency_schedule } end modal_body.with_row(mt: 3) do diff --git a/modules/meeting/app/components/recurring_meetings/footer_component.rb b/modules/meeting/app/components/recurring_meetings/footer_component.rb index a3666e063930..5a68df141e95 100644 --- a/modules/meeting/app/components/recurring_meetings/footer_component.rb +++ b/modules/meeting/app/components/recurring_meetings/footer_component.rb @@ -49,7 +49,7 @@ def label if @direction == "past" I18n.t("label_recurring_meeting_more_past#{label_suffix}", count:) else - I18n.t("label_recurring_meeting_more#{label_suffix}", count:, schedule: @meeting.schedule_in_words) + I18n.t("label_recurring_meeting_more#{label_suffix}", count:, schedule: @meeting.full_schedule_in_words) end end end diff --git a/modules/meeting/app/components/recurring_meetings/show_page_header_component.rb b/modules/meeting/app/components/recurring_meetings/show_page_header_component.rb index 20cc8aa68e4a..757fe2c6fe99 100644 --- a/modules/meeting/app/components/recurring_meetings/show_page_header_component.rb +++ b/modules/meeting/app/components/recurring_meetings/show_page_header_component.rb @@ -69,7 +69,7 @@ def page_title end def page_description - @meeting.schedule_in_words + @meeting.full_schedule_in_words end def breadcrumb_items diff --git a/modules/meeting/app/forms/recurring_meeting/interval.rb b/modules/meeting/app/forms/recurring_meeting/interval.rb index c28f27f4505b..4818d530ec61 100644 --- a/modules/meeting/app/forms/recurring_meeting/interval.rb +++ b/modules/meeting/app/forms/recurring_meeting/interval.rb @@ -32,7 +32,6 @@ class RecurringMeeting::Interval < ApplicationForm name: :interval, type: :number, label: I18n.t("activerecord.attributes.recurring_meeting.interval"), - caption: I18n.t("recurring_meeting.interval.instructions"), data: { "recurring-meetings--form-target": "interval", action: "input->recurring-meetings--form#updateFrequencyText" diff --git a/modules/meeting/app/models/recurring_meeting.rb b/modules/meeting/app/models/recurring_meeting.rb index 7711a7057136..bfae6d868902 100644 --- a/modules/meeting/app/models/recurring_meeting.rb +++ b/modules/meeting/app/models/recurring_meeting.rb @@ -88,31 +88,38 @@ def schedule end end - def schedule_in_words # rubocop:disable Metrics/AbcSize - base = - case frequency - when "daily" - interval == 1 ? human_frequency : I18n.t("recurring_meeting.in_words.daily_interval", interval: interval.ordinalize) - when "working_days" - if interval == 1 - I18n.t("recurring_meeting.in_words.working_days") - else - I18n.t("recurring_meeting.in_words.working_days_interval", interval: interval.ordinalize) - end - when "weekly" - if interval == 1 - I18n.t("recurring_meeting.in_words.weekly", weekday:) - else - I18n.t("recurring_meeting.in_words.weekly_interval", interval: interval.ordinalize, weekday:) - end + def base_schedule + case frequency + when "daily" + if interval == 1 + human_frequency + else + I18n.t("recurring_meeting.in_words.daily_interval", interval: interval.ordinalize) + end + when "working_days" + I18n.t("recurring_meeting.in_words.working_days") + when "weekly" + if interval == 1 + I18n.t("recurring_meeting.in_words.weekly", weekday:) + else + I18n.t("recurring_meeting.in_words.weekly_interval", interval: interval.ordinalize, weekday:) end + end + end + def full_schedule_in_words I18n.t("recurring_meeting.in_words.full", - base:, + base: base_schedule, time: format_time(start_time, include_date: false), end_date: format_date(last_occurrence)) end + def human_frequency_schedule + I18n.t("recurring_meeting.in_words.frequency", + base: base_schedule, + time: format_time(start_time, include_date: false)) + end + def scheduled_occurrences(limit:) schedule.next_occurrences(limit, Time.current) end @@ -197,4 +204,8 @@ def count_rule(rule) rule.until(end_date.to_time(:utc)) end end + + def set_defaults + self.end_date ||= 1.year.from_now + end end diff --git a/modules/meeting/config/locales/en.yml b/modules/meeting/config/locales/en.yml index afe8b3e90ba6..5141b7066cbf 100644 --- a/modules/meeting/config/locales/en.yml +++ b/modules/meeting/config/locales/en.yml @@ -216,9 +216,6 @@ en: empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -254,8 +251,9 @@ en: daily_interval: "Every %{interval} day" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" + weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} week on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" From 9530ab5b81834d27dddddc9cd36e785041663edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 11 Dec 2024 09:27:48 +0100 Subject: [PATCH 089/121] Implement fetching --- .../recurring-meetings/form.controller.ts | 33 +++-- .../meetings/index/form_component.html.erb | 6 +- .../recurring_meetings/schedule_controller.rb | 40 ++++++ .../meeting/app/forms/meeting/time_group.rb | 10 +- .../app/forms/recurring_meeting/frequency.rb | 1 - .../app/forms/recurring_meeting/interval.rb | 3 +- .../app/forms/recurring_meeting/iterations.rb | 2 + modules/meeting/config/routes.rb | 3 + .../lib/open_project/meeting/engine.rb | 7 +- .../recurring_meeting_create_spec.rb | 2 + .../recurring_meetings_schedule_spec.rb | 115 ++++++++++++++++++ .../spec/support/pages/meetings/index.rb | 1 + 12 files changed, 207 insertions(+), 16 deletions(-) create mode 100644 modules/meeting/app/controllers/recurring_meetings/schedule_controller.rb create mode 100644 modules/meeting/spec/requests/recurring_meetings/recurring_meetings_schedule_spec.rb diff --git a/frontend/src/stimulus/controllers/dynamic/recurring-meetings/form.controller.ts b/frontend/src/stimulus/controllers/dynamic/recurring-meetings/form.controller.ts index 8cbcfd66d28e..2d55c2ca546e 100644 --- a/frontend/src/stimulus/controllers/dynamic/recurring-meetings/form.controller.ts +++ b/frontend/src/stimulus/controllers/dynamic/recurring-meetings/form.controller.ts @@ -1,17 +1,32 @@ import { ApplicationController } from 'stimulus-use'; +import { TurboRequestsService } from 'core-app/core/turbo/turbo-requests.service'; +import { PathHelperService } from 'core-app/core/path-helper/path-helper.service'; export default class OpRecurringMeetingsFormController extends ApplicationController { - static targets = [ - 'frequency', - 'interval', - ]; + private turboRequests:TurboRequestsService; + private pathHelper:PathHelperService; - declare readonly frequencyTarget:HTMLSelectElement; - declare readonly intervalTarget:HTMLInputElement; + async connect() { + const context = await window.OpenProject.getPluginContext(); + this.turboRequests = context.services.turboRequests; + this.pathHelper = context.services.pathHelperService; + } updateFrequencyText():void { - const frequency = this.frequencyTarget.value; - const interval = this.intervalTarget.value; - this.intervalTarget.placeholder = `Every ${frequency}`; + const data = new FormData(this.element as HTMLFormElement); + const urlSearchParams = new URLSearchParams(); + ['start_date', 'start_time_hour', 'frequency', 'interval'].forEach((name) => { + const key = `meeting[${name}]`; + urlSearchParams.append(key, data.get(key) as string); + }); + + void this + .turboRequests + .request( + `${this.pathHelper.staticBase}/recurring_meetings/update_schedule?${urlSearchParams.toString()}`, + { + headers: { Accept: 'text/vnd.turbo-stream.html' }, + }, + ); } } diff --git a/modules/meeting/app/components/meetings/index/form_component.html.erb b/modules/meeting/app/components/meetings/index/form_component.html.erb index b060c4764733..de2d14d02d74 100644 --- a/modules/meeting/app/components/meetings/index/form_component.html.erb +++ b/modules/meeting/app/components/meetings/index/form_component.html.erb @@ -69,7 +69,11 @@ end modal_body.with_row(mt: 1) do - render(Primer::Beta::Text.new(font_size: :small, color: :subtle)) { @meeting.human_frequency_schedule } + render(Primer::Beta::Text.new( + id: "recurring-meeting-frequency-schedule", + font_size: :small, + color: :subtle, + )) { @meeting.human_frequency_schedule } end modal_body.with_row(mt: 3) do diff --git a/modules/meeting/app/controllers/recurring_meetings/schedule_controller.rb b/modules/meeting/app/controllers/recurring_meetings/schedule_controller.rb new file mode 100644 index 000000000000..4c078a3f4e3d --- /dev/null +++ b/modules/meeting/app/controllers/recurring_meetings/schedule_controller.rb @@ -0,0 +1,40 @@ +module RecurringMeetings + class ScheduleController < ApplicationController + before_action do + do_authorize :create_meetings, global: true + end + authorization_checked! :update_text + + around_action :with_user_time_zone + before_action :build_meeting + + def update_text + text = @recurring_meeting.human_frequency_schedule + respond_to do |format| + format.html { render plain: text } + format.turbo_stream do + render turbo_stream: turbo_stream.update("recurring-meeting-frequency-schedule", + plain: text) + end + end + end + + private + + def with_user_time_zone(&) + User.execute_as(User.current, &) + end + + def build_meeting + @recurring_meeting = RecurringMeeting.new(schedule_params.compact_blank) + end + + def schedule_params + params + .require(:meeting) + .permit(:start_date, :start_time_hour, :frequency, :interval) + end + + def default_breadcrumb; end + end +end diff --git a/modules/meeting/app/forms/meeting/time_group.rb b/modules/meeting/app/forms/meeting/time_group.rb index 20aee89aeb3b..62edad4736d8 100644 --- a/modules/meeting/app/forms/meeting/time_group.rb +++ b/modules/meeting/app/forms/meeting/time_group.rb @@ -39,7 +39,10 @@ class Meeting::TimeGroup < ApplicationForm label: Meeting.human_attribute_name(:start_date), leading_visual: { icon: :calendar }, required: true, - autofocus: false + autofocus: false, + data: { + action: "input->recurring-meetings--form#updateFrequencyText" + } ) group.text_field( @@ -50,7 +53,10 @@ class Meeting::TimeGroup < ApplicationForm label: Meeting.human_attribute_name(:start_time), leading_visual: { icon: :clock }, required: true, - caption: formatted_time_zone_offset + caption: formatted_time_zone_offset, + data: { + action: "input->recurring-meetings--form#updateFrequencyText" + } ) end end diff --git a/modules/meeting/app/forms/recurring_meeting/frequency.rb b/modules/meeting/app/forms/recurring_meeting/frequency.rb index 66262baa1a7f..8ed3963ec16a 100644 --- a/modules/meeting/app/forms/recurring_meeting/frequency.rb +++ b/modules/meeting/app/forms/recurring_meeting/frequency.rb @@ -33,7 +33,6 @@ class RecurringMeeting::Frequency < ApplicationForm label: I18n.t("activerecord.attributes.recurring_meeting.frequency"), data: { target_name: "frequency", - "recurring-meetings--form-target": "frequency", "show-when-value-selected-target": "cause", action: "input->recurring-meetings--form#updateFrequencyText" } diff --git a/modules/meeting/app/forms/recurring_meeting/interval.rb b/modules/meeting/app/forms/recurring_meeting/interval.rb index 4818d530ec61..e94f080bf69a 100644 --- a/modules/meeting/app/forms/recurring_meeting/interval.rb +++ b/modules/meeting/app/forms/recurring_meeting/interval.rb @@ -31,9 +31,10 @@ class RecurringMeeting::Interval < ApplicationForm meeting_form.text_field( name: :interval, type: :number, + step: 1, + max: RecurringMeeting::MAX_INTERVAL, label: I18n.t("activerecord.attributes.recurring_meeting.interval"), data: { - "recurring-meetings--form-target": "interval", action: "input->recurring-meetings--form#updateFrequencyText" } ) diff --git a/modules/meeting/app/forms/recurring_meeting/iterations.rb b/modules/meeting/app/forms/recurring_meeting/iterations.rb index a9f1feb2c5af..dffe00d35bc2 100644 --- a/modules/meeting/app/forms/recurring_meeting/iterations.rb +++ b/modules/meeting/app/forms/recurring_meeting/iterations.rb @@ -31,6 +31,8 @@ class RecurringMeeting::Iterations < ApplicationForm meeting_form.text_field( name: :iterations, type: :number, + step: 1, + max: RecurringMeeting::MAX_ITERATIONS, label: I18n.t("activerecord.attributes.recurring_meeting.iterations") ) end diff --git a/modules/meeting/config/routes.rb b/modules/meeting/config/routes.rb index 70dda4a74169..a46a4ff75b1b 100644 --- a/modules/meeting/config/routes.rb +++ b/modules/meeting/config/routes.rb @@ -64,6 +64,9 @@ post :delete_scheduled post :template_completed end + collection do + get :update_schedule, controller: "recurring_meetings/schedule", action: :update_text + end end resources :meetings do diff --git a/modules/meeting/lib/open_project/meeting/engine.rb b/modules/meeting/lib/open_project/meeting/engine.rb index eb36687dfc38..4668c82dc4cf 100644 --- a/modules/meeting/lib/open_project/meeting/engine.rb +++ b/modules/meeting/lib/open_project/meeting/engine.rb @@ -40,17 +40,20 @@ class Engine < ::Rails::Engine bundled: true do project_module :meetings do permission :view_meetings, - { meetings: %i[index show check_for_updates download_ics participants_dialog history], + { + meetings: %i[index show check_for_updates download_ics participants_dialog history], meeting_agendas: %i[history show diff], meeting_minutes: %i[history show diff], "meetings/menus": %i[show], work_package_meetings_tab: %i[index count], - recurring_meetings: %i[index show new create download_ics] }, + recurring_meetings: %i[index show new create download_ics] + }, permissible_on: :project permission :create_meetings, { meetings: %i[new create copy new_dialog], recurring_meetings: %i[new create copy init template_completed], + "recurring_meetings/schedule": %i[update_text], "meetings/menus": %i[show] }, permissible_on: :project, diff --git a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb index d7fdb139152b..68c6823986eb 100644 --- a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb +++ b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb @@ -81,6 +81,8 @@ meetings_page.set_duration "1.5" meetings_page.set_end_date "2025-01-15" + expect(page).to have_text "Every week on Tuesday at 01:30 PM" + click_on "Create meeting" wait_for_network_idle expect_and_dismiss_flash(type: :success, message: "Successful creation.") diff --git a/modules/meeting/spec/requests/recurring_meetings/recurring_meetings_schedule_spec.rb b/modules/meeting/spec/requests/recurring_meetings/recurring_meetings_schedule_spec.rb new file mode 100644 index 000000000000..9c7821103218 --- /dev/null +++ b/modules/meeting/spec/requests/recurring_meetings/recurring_meetings_schedule_spec.rb @@ -0,0 +1,115 @@ +#-- 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. +#++ + +require "spec_helper" +require_relative "../../support/pages/recurring_meeting/show" + +RSpec.describe "Recurring meetings schedule text", + :skip_csrf, + type: :rails_request do + include Redmine::I18n + + shared_let(:project) { create(:project, enabled_module_names: %i[meetings]) } + shared_let(:user) do + create(:user, + preferences: { time_zone: "Europe/London" }, + member_with_permissions: { project => %i[view_meetings create_meetings] }) + end + let(:current_user) { user } + + let(:start_time_hour) { "10:00" } + let(:start_date) { "2024-12-05" } + let(:frequency) { "daily" } + let(:interval) { "1" } + let(:params) do + { meeting: { start_time_hour:, start_date:, frequency:, interval: } } + end + let(:format) { :html } + + subject do + get update_schedule_recurring_meetings_path(params:, format:) + response + end + + before do + login_as(current_user) + end + + describe "setting schedule" do + it "returns the update text" do + expect(subject).to have_http_status(:ok) + expect(subject.body).to include("Daily at 10:00 AM") + end + + context "when changing the frequency and interval" do + let(:frequency) { "weekly" } + let(:interval) { "2" } + + it "returns the update text" do + expect(subject).to have_http_status(:ok) + expect(subject.body).to include("Every 2nd week on Thursday at 10:00 AM") + end + end + + context "when changing the interval" do + let(:interval) { "2" } + + it "returns the update text" do + expect(subject).to have_http_status(:ok) + expect(subject.body).to include("Every 2nd day at 10:00 AM") + end + end + + context "when leaving the interval empty" do + let(:interval) { "" } + + it "falls back to the default" do + expect(subject).to have_http_status(:ok) + expect(subject.body).to include("Daily at 10:00 AM") + end + end + + context "when requesting with turbo" do + let(:format) { :turbo_stream } + + it "returns an update turbo stream" do + expect(subject).to have_http_status(:ok) + expect(subject.body).to include("turbo-stream") + expect(subject.body).to include("Daily at 10:00 AM") + end + end + end + + context "when user has no permissions to access" do + let(:current_user) { create(:user) } + + it "does not allow to request it" do + expect(subject).to have_http_status(:forbidden) + end + end +end diff --git a/modules/meeting/spec/support/pages/meetings/index.rb b/modules/meeting/spec/support/pages/meetings/index.rb index 40fcfdf69d41..6b7a49f9c3c5 100644 --- a/modules/meeting/spec/support/pages/meetings/index.rb +++ b/modules/meeting/spec/support/pages/meetings/index.rb @@ -58,6 +58,7 @@ def set_start_date(date) def set_start_time(time) input = page.find_by_id("meeting_start_time_hour") page.execute_script("arguments[0].value = arguments[1]", input.native, time) + page.execute_script("arguments[0].dispatchEvent(new Event('input'))", input.native) end def set_end_date(date) From 4ddabfdb6b59529e4bd7c8303a8a6857bb47955c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 11 Dec 2024 13:21:11 +0100 Subject: [PATCH 090/121] Change interval text --- modules/meeting/app/models/recurring_meeting.rb | 4 ++-- modules/meeting/config/locales/en.yml | 4 ++-- .../recurring_meetings/recurring_meetings_schedule_spec.rb | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/meeting/app/models/recurring_meeting.rb b/modules/meeting/app/models/recurring_meeting.rb index bfae6d868902..30be11c7e309 100644 --- a/modules/meeting/app/models/recurring_meeting.rb +++ b/modules/meeting/app/models/recurring_meeting.rb @@ -94,7 +94,7 @@ def base_schedule if interval == 1 human_frequency else - I18n.t("recurring_meeting.in_words.daily_interval", interval: interval.ordinalize) + I18n.t("recurring_meeting.in_words.daily_interval", interval:) end when "working_days" I18n.t("recurring_meeting.in_words.working_days") @@ -102,7 +102,7 @@ def base_schedule if interval == 1 I18n.t("recurring_meeting.in_words.weekly", weekday:) else - I18n.t("recurring_meeting.in_words.weekly_interval", interval: interval.ordinalize, weekday:) + I18n.t("recurring_meeting.in_words.weekly_interval", interval:, weekday:) end end end diff --git a/modules/meeting/config/locales/en.yml b/modules/meeting/config/locales/en.yml index 5141b7066cbf..ce94b217a9fe 100644 --- a/modules/meeting/config/locales/en.yml +++ b/modules/meeting/config/locales/en.yml @@ -248,11 +248,11 @@ en: iterations: "A number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" diff --git a/modules/meeting/spec/requests/recurring_meetings/recurring_meetings_schedule_spec.rb b/modules/meeting/spec/requests/recurring_meetings/recurring_meetings_schedule_spec.rb index 9c7821103218..ac44c13d2d3a 100644 --- a/modules/meeting/spec/requests/recurring_meetings/recurring_meetings_schedule_spec.rb +++ b/modules/meeting/spec/requests/recurring_meetings/recurring_meetings_schedule_spec.rb @@ -72,7 +72,7 @@ it "returns the update text" do expect(subject).to have_http_status(:ok) - expect(subject.body).to include("Every 2nd week on Thursday at 10:00 AM") + expect(subject.body).to include("Every 2 weeks on Thursday at 10:00 AM") end end @@ -81,7 +81,7 @@ it "returns the update text" do expect(subject).to have_http_status(:ok) - expect(subject.body).to include("Every 2nd day at 10:00 AM") + expect(subject.body).to include("Every 2 days at 10:00 AM") end end From 00ebf752011fcf809a3b6e4f261b29dd8b566797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 11 Dec 2024 13:36:52 +0100 Subject: [PATCH 091/121] Fix meeting name positioning and labels --- .../meetings/index/form_component.html.erb | 58 +++++++++++-------- .../details_form_component.html.erb | 4 -- modules/meeting/app/forms/meeting/duration.rb | 57 ------------------ modules/meeting/app/forms/meeting/location.rb | 3 +- .../meeting/app/forms/meeting/time_group.rb | 26 +++++++-- .../forms/recurring_meeting/specific_date.rb | 1 - modules/meeting/config/locales/en.yml | 7 ++- .../recurring_meeting_create_spec.rb | 2 +- .../recurring_meeting_crud_spec.rb | 4 +- .../spec/support/pages/meetings/index.rb | 6 +- 10 files changed, 69 insertions(+), 99 deletions(-) delete mode 100644 modules/meeting/app/forms/meeting/duration.rb diff --git a/modules/meeting/app/components/meetings/index/form_component.html.erb b/modules/meeting/app/components/meetings/index/form_component.html.erb index de2d14d02d74..953c65b6b981 100644 --- a/modules/meeting/app/components/meetings/index/form_component.html.erb +++ b/modules/meeting/app/components/meetings/index/form_component.html.erb @@ -43,10 +43,6 @@ render(Meeting::TimeGroup.new(f, meeting: @meeting)) end - modal_body.with_row(mt: 3) do - render(Meeting::Duration.new(f, meeting: @meeting)) - end - if @meeting.is_a?(RecurringMeeting) modal_body.with_row(mt: 3) do flex_layout(classes: "FormControl-horizontalGroup") do |frequency_row| @@ -77,27 +73,41 @@ end modal_body.with_row(mt: 3) do - render(RecurringMeeting::EndAfter.new(f)) - end - - modal_body.with_row(mt: 3, - hidden: @meeting.end_after_iterations?, - data: { - value: "specific_date", - target_name: "end_after", - "show-when-value-selected-target": "effect" } - ) do - render(RecurringMeeting::SpecificDate.new(f, meeting: @meeting)) - end + flex_layout(classes: "FormControl-horizontalGroup") do |frequency_row| + frequency_row.with_column(flex: 1) do + render(RecurringMeeting::EndAfter.new(f)) + end - modal_body.with_row(mt: 3, - hidden: @meeting.end_after_specific_date?, - data: { - value: "iterations", - target_name: "end_after", - "show-when-value-selected-target": "effect" - }) do - render(RecurringMeeting::Iterations.new(f)) + frequency_row.with_column( + flex: 1, + hidden: @meeting.frequency_working_days?, + data: { + target_name: "frequency", + not_value: "working_days", + set_visibility: "true", + "show-when-value-selected-target": "effect" + }) do + flex_layout do |end_after| + end_after.with_row(hidden: @meeting.end_after_iterations?, + data: { + value: "specific_date", + target_name: "end_after", + "show-when-value-selected-target": "effect" } + ) do + render(RecurringMeeting::SpecificDate.new(f, meeting: @meeting)) + end + + end_after.with_row(hidden: @meeting.end_after_specific_date?, + data: { + value: "iterations", + target_name: "end_after", + "show-when-value-selected-target": "effect" + }) do + render(RecurringMeeting::Iterations.new(f)) + end + end + end + end end else modal_body.with_row do diff --git a/modules/meeting/app/components/meetings/side_panel/details_form_component.html.erb b/modules/meeting/app/components/meetings/side_panel/details_form_component.html.erb index cdc2bbc4d52c..cc719ac1358a 100644 --- a/modules/meeting/app/components/meetings/side_panel/details_form_component.html.erb +++ b/modules/meeting/app/components/meetings/side_panel/details_form_component.html.erb @@ -17,10 +17,6 @@ render(Meeting::TimeGroup.new(f, meeting: @meeting)) end - modal_body.with_row(mt: 3) do - render(Meeting::Duration.new(f, meeting: @meeting)) - end - modal_body.with_row(mt: 3) do render(Meeting::Location.new(f, meeting: @meeting)) end diff --git a/modules/meeting/app/forms/meeting/duration.rb b/modules/meeting/app/forms/meeting/duration.rb deleted file mode 100644 index 8e61bd6e91ae..000000000000 --- a/modules/meeting/app/forms/meeting/duration.rb +++ /dev/null @@ -1,57 +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. -#++ - -class Meeting::Duration < ApplicationForm - form do |meeting_form| - meeting_form.text_field( - name: :duration, - type: :number, - min: 0, - max: 24, - step: 0.05, - value: @value, - placeholder: Meeting.human_attribute_name(:duration), - label: Meeting.human_attribute_name(:duration), - visually_hide_label: false, - required: true, - leading_visual: { icon: :stopwatch }, - caption: I18n.t("text_in_hours") - ) - end - - def initialize(meeting:) - super() - - @value = - if meeting.is_a?(RecurringMeeting) && meeting.template - meeting.template.duration - else - meeting.duration - end - end -end diff --git a/modules/meeting/app/forms/meeting/location.rb b/modules/meeting/app/forms/meeting/location.rb index 996b17e033b9..4d5be511d7af 100644 --- a/modules/meeting/app/forms/meeting/location.rb +++ b/modules/meeting/app/forms/meeting/location.rb @@ -33,8 +33,7 @@ class Meeting::Location < ApplicationForm value: @value, placeholder: Meeting.human_attribute_name(:location), label: Meeting.human_attribute_name(:location), - visually_hide_label: false, - leading_visual: { icon: :location } + visually_hide_label: false ) end diff --git a/modules/meeting/app/forms/meeting/time_group.rb b/modules/meeting/app/forms/meeting/time_group.rb index 62edad4736d8..0c6d1ff31b3e 100644 --- a/modules/meeting/app/forms/meeting/time_group.rb +++ b/modules/meeting/app/forms/meeting/time_group.rb @@ -35,9 +35,8 @@ class Meeting::TimeGroup < ApplicationForm name: :start_date, type: "date", value: @initial_date, - placeholder: Meeting.human_attribute_name(:start_date), - label: Meeting.human_attribute_name(:start_date), - leading_visual: { icon: :calendar }, + placeholder: @meeting.class.human_attribute_name(:start_date), + label: @meeting.class.human_attribute_name(:start_date), required: true, autofocus: false, data: { @@ -51,20 +50,39 @@ class Meeting::TimeGroup < ApplicationForm value: @initial_time, placeholder: Meeting.human_attribute_name(:start_time), label: Meeting.human_attribute_name(:start_time), - leading_visual: { icon: :clock }, required: true, caption: formatted_time_zone_offset, data: { action: "input->recurring-meetings--form#updateFrequencyText" } ) + group.text_field( + name: :duration, + type: :number, + min: 0, + max: 24, + step: 0.05, + value: @duration, + placeholder: Meeting.human_attribute_name(:duration), + label: Meeting.human_attribute_name(:duration), + visually_hide_label: false, + required: true, + caption: I18n.t("text_in_hours") + ) end end def initialize(meeting:) super() + @meeting = meeting @initial_time = meeting.start_time_hour.presence || format_time(meeting.start_time, include_date: false, format: "%H:%M") @initial_date = meeting.start_date.presence || format_time_as_date(meeting.start_time, format: "%Y-%m-%d") + @duration = + if meeting.is_a?(RecurringMeeting) && meeting.template + meeting.template.duration + else + meeting.duration + end end end diff --git a/modules/meeting/app/forms/recurring_meeting/specific_date.rb b/modules/meeting/app/forms/recurring_meeting/specific_date.rb index 8860012a3f74..53af80881348 100644 --- a/modules/meeting/app/forms/recurring_meeting/specific_date.rb +++ b/modules/meeting/app/forms/recurring_meeting/specific_date.rb @@ -34,7 +34,6 @@ class RecurringMeeting::SpecificDate < ApplicationForm value: @value, placeholder: Meeting.human_attribute_name(:end_date), label: Meeting.human_attribute_name(:end_date), - leading_visual: { icon: :calendar }, required: false, autofocus: false ) diff --git a/modules/meeting/config/locales/en.yml b/modules/meeting/config/locales/en.yml index ce94b217a9fe..a9184809b5db 100644 --- a/modules/meeting/config/locales/en.yml +++ b/modules/meeting/config/locales/en.yml @@ -64,7 +64,8 @@ en: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -244,8 +245,8 @@ en: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: daily_interval: "Every %{interval} days" diff --git a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb index 68c6823986eb..2435b456a628 100644 --- a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb +++ b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb @@ -76,7 +76,7 @@ meetings_page.set_title "Some title" - meetings_page.set_start_date "2024-12-31" + meetings_page.set_starts_on "2024-12-31" meetings_page.set_start_time "13:30" meetings_page.set_duration "1.5" meetings_page.set_end_date "2025-01-15" diff --git a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_crud_spec.rb b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_crud_spec.rb index 35291cc7378d..25880aa37f37 100644 --- a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_crud_spec.rb +++ b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_crud_spec.rb @@ -121,13 +121,13 @@ it "can edit the details of a recurring meeting" do show_page.visit! - show_page.expect_subtitle text: "Weekly on Tuesday at 01:30 PM, ends on 01/14/2025" + show_page.expect_subtitle text: "Every week on Tuesday at 01:30 PM, ends on 01/14/2025" show_page.edit_meeting_series show_page.in_edit_dialog do page.select("Daily", from: "Frequency") meetings_page.set_start_time "11:00" - page.select("A number of occurrences", from: "End after") + page.select("a number of occurrences", from: "End series after") page.fill_in("Occurrences", with: "8") sleep 0.5 diff --git a/modules/meeting/spec/support/pages/meetings/index.rb b/modules/meeting/spec/support/pages/meetings/index.rb index 6b7a49f9c3c5..85eeb113f837 100644 --- a/modules/meeting/spec/support/pages/meetings/index.rb +++ b/modules/meeting/spec/support/pages/meetings/index.rb @@ -52,7 +52,11 @@ def set_title(text) end def set_start_date(date) - fill_in "Date", with: date, fill_options: { clear: :backspace } + fill_in "Date", with: date + end + + def set_starts_on(date) + fill_in "Starts on", with: date end def set_start_time(time) From 9c6c5668b1b2b60081ea300c135921c0203c004a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 11 Dec 2024 16:11:57 +0100 Subject: [PATCH 092/121] Rename controller action --- .../controllers/dynamic/recurring-meetings/form.controller.ts | 2 +- .../app/controllers/recurring_meetings/schedule_controller.rb | 4 ++-- modules/meeting/config/routes.rb | 2 +- .../recurring_meetings/recurring_meetings_schedule_spec.rb | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/src/stimulus/controllers/dynamic/recurring-meetings/form.controller.ts b/frontend/src/stimulus/controllers/dynamic/recurring-meetings/form.controller.ts index 2d55c2ca546e..64c6e0044bf8 100644 --- a/frontend/src/stimulus/controllers/dynamic/recurring-meetings/form.controller.ts +++ b/frontend/src/stimulus/controllers/dynamic/recurring-meetings/form.controller.ts @@ -23,7 +23,7 @@ export default class OpRecurringMeetingsFormController extends ApplicationContro void this .turboRequests .request( - `${this.pathHelper.staticBase}/recurring_meetings/update_schedule?${urlSearchParams.toString()}`, + `${this.pathHelper.staticBase}/recurring_meetings/humanize_schedule?${urlSearchParams.toString()}`, { headers: { Accept: 'text/vnd.turbo-stream.html' }, }, diff --git a/modules/meeting/app/controllers/recurring_meetings/schedule_controller.rb b/modules/meeting/app/controllers/recurring_meetings/schedule_controller.rb index 4c078a3f4e3d..8c8b842494c3 100644 --- a/modules/meeting/app/controllers/recurring_meetings/schedule_controller.rb +++ b/modules/meeting/app/controllers/recurring_meetings/schedule_controller.rb @@ -3,12 +3,12 @@ class ScheduleController < ApplicationController before_action do do_authorize :create_meetings, global: true end - authorization_checked! :update_text + authorization_checked! :humanize_schedule around_action :with_user_time_zone before_action :build_meeting - def update_text + def humanize_schedule text = @recurring_meeting.human_frequency_schedule respond_to do |format| format.html { render plain: text } diff --git a/modules/meeting/config/routes.rb b/modules/meeting/config/routes.rb index a46a4ff75b1b..4d6b4b845704 100644 --- a/modules/meeting/config/routes.rb +++ b/modules/meeting/config/routes.rb @@ -65,7 +65,7 @@ post :template_completed end collection do - get :update_schedule, controller: "recurring_meetings/schedule", action: :update_text + get :humanize_schedule, controller: "recurring_meetings/schedule", action: :humanize_schedule end end diff --git a/modules/meeting/spec/requests/recurring_meetings/recurring_meetings_schedule_spec.rb b/modules/meeting/spec/requests/recurring_meetings/recurring_meetings_schedule_spec.rb index ac44c13d2d3a..33fb596bb52b 100644 --- a/modules/meeting/spec/requests/recurring_meetings/recurring_meetings_schedule_spec.rb +++ b/modules/meeting/spec/requests/recurring_meetings/recurring_meetings_schedule_spec.rb @@ -52,7 +52,7 @@ let(:format) { :html } subject do - get update_schedule_recurring_meetings_path(params:, format:) + get humanize_schedule_recurring_meetings_path(params:, format:) response end From 6a3f6d8ae4152de668c4681403c9fa436e3a0cc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 11 Dec 2024 19:57:46 +0100 Subject: [PATCH 093/121] Add controller only for recurring meetings --- .../app/components/meetings/index/form_component.html.erb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/meeting/app/components/meetings/index/form_component.html.erb b/modules/meeting/app/components/meetings/index/form_component.html.erb index 953c65b6b981..01b12e0dc224 100644 --- a/modules/meeting/app/components/meetings/index/form_component.html.erb +++ b/modules/meeting/app/components/meetings/index/form_component.html.erb @@ -6,7 +6,10 @@ method: form_method, data: { turbo: true, - controller: "show-when-value-selected recurring-meetings--form", + controller: [ + "show-when-value-selected", + @meeting.is_a?(RecurringMeeting) ? "recurring-meetings--form" : nil, + ].compact.join(" "), "application-target": "dynamic" }, html: { From 25f189bcc7d803ca2e566d428891bbe77b97a982 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Thu, 12 Dec 2024 03:20:37 +0000 Subject: [PATCH 094/121] update locales from crowdin [ci skip] --- config/locales/crowdin/af.yml | 1 + config/locales/crowdin/ar.yml | 1 + config/locales/crowdin/az.yml | 1 + config/locales/crowdin/be.yml | 1 + config/locales/crowdin/bg.yml | 1 + config/locales/crowdin/ca.yml | 1 + config/locales/crowdin/ckb-IR.yml | 1 + config/locales/crowdin/cs.yml | 1 + config/locales/crowdin/da.yml | 1 + config/locales/crowdin/de.yml | 1 + config/locales/crowdin/el.yml | 1 + config/locales/crowdin/eo.yml | 1 + config/locales/crowdin/es.yml | 1 + config/locales/crowdin/et.yml | 1 + config/locales/crowdin/eu.yml | 1 + config/locales/crowdin/fa.yml | 1 + config/locales/crowdin/fi.yml | 1 + config/locales/crowdin/fil.yml | 1 + config/locales/crowdin/fr.yml | 1 + config/locales/crowdin/he.yml | 1 + config/locales/crowdin/hi.yml | 1 + config/locales/crowdin/hr.yml | 1 + config/locales/crowdin/hu.yml | 1 + config/locales/crowdin/id.yml | 1 + config/locales/crowdin/it.yml | 1 + config/locales/crowdin/ja.yml | 1 + config/locales/crowdin/ka.yml | 1 + config/locales/crowdin/kk.yml | 1 + config/locales/crowdin/ko.yml | 1 + config/locales/crowdin/lt.yml | 1 + config/locales/crowdin/lv.yml | 1 + config/locales/crowdin/mn.yml | 1 + config/locales/crowdin/ms.yml | 1 + config/locales/crowdin/ne.yml | 1 + config/locales/crowdin/nl.yml | 1 + config/locales/crowdin/no.yml | 1 + config/locales/crowdin/pl.yml | 1 + config/locales/crowdin/pt-BR.yml | 1 + config/locales/crowdin/pt-PT.yml | 1 + config/locales/crowdin/ro.yml | 1 + config/locales/crowdin/ru.yml | 3 +- config/locales/crowdin/rw.yml | 1 + config/locales/crowdin/si.yml | 1 + config/locales/crowdin/sk.yml | 1 + config/locales/crowdin/sl.yml | 1 + config/locales/crowdin/sr.yml | 1 + config/locales/crowdin/sv.yml | 1 + config/locales/crowdin/th.yml | 1 + config/locales/crowdin/tr.yml | 1 + config/locales/crowdin/uk.yml | 1 + config/locales/crowdin/uz.yml | 1 + config/locales/crowdin/vi.yml | 1 + config/locales/crowdin/zh-CN.yml | 1 + config/locales/crowdin/zh-TW.yml | 1 + .../auth_saml/config/locales/crowdin/ms.yml | 8 +- modules/meeting/config/locales/crowdin/af.yml | 17 ++-- modules/meeting/config/locales/crowdin/ar.yml | 17 ++-- modules/meeting/config/locales/crowdin/az.yml | 17 ++-- modules/meeting/config/locales/crowdin/be.yml | 17 ++-- modules/meeting/config/locales/crowdin/bg.yml | 17 ++-- modules/meeting/config/locales/crowdin/ca.yml | 17 ++-- .../meeting/config/locales/crowdin/ckb-IR.yml | 17 ++-- modules/meeting/config/locales/crowdin/cs.yml | 17 ++-- modules/meeting/config/locales/crowdin/da.yml | 17 ++-- modules/meeting/config/locales/crowdin/de.yml | 17 ++-- modules/meeting/config/locales/crowdin/el.yml | 17 ++-- modules/meeting/config/locales/crowdin/eo.yml | 17 ++-- modules/meeting/config/locales/crowdin/es.yml | 17 ++-- modules/meeting/config/locales/crowdin/et.yml | 17 ++-- modules/meeting/config/locales/crowdin/eu.yml | 17 ++-- modules/meeting/config/locales/crowdin/fa.yml | 17 ++-- modules/meeting/config/locales/crowdin/fi.yml | 17 ++-- .../meeting/config/locales/crowdin/fil.yml | 17 ++-- modules/meeting/config/locales/crowdin/fr.yml | 17 ++-- modules/meeting/config/locales/crowdin/he.yml | 17 ++-- modules/meeting/config/locales/crowdin/hi.yml | 17 ++-- modules/meeting/config/locales/crowdin/hr.yml | 17 ++-- modules/meeting/config/locales/crowdin/hu.yml | 17 ++-- modules/meeting/config/locales/crowdin/id.yml | 17 ++-- modules/meeting/config/locales/crowdin/it.yml | 17 ++-- modules/meeting/config/locales/crowdin/ja.yml | 17 ++-- modules/meeting/config/locales/crowdin/ka.yml | 17 ++-- modules/meeting/config/locales/crowdin/kk.yml | 17 ++-- modules/meeting/config/locales/crowdin/ko.yml | 17 ++-- modules/meeting/config/locales/crowdin/lt.yml | 17 ++-- modules/meeting/config/locales/crowdin/lv.yml | 17 ++-- modules/meeting/config/locales/crowdin/mn.yml | 17 ++-- modules/meeting/config/locales/crowdin/ms.yml | 17 ++-- modules/meeting/config/locales/crowdin/ne.yml | 17 ++-- modules/meeting/config/locales/crowdin/nl.yml | 17 ++-- modules/meeting/config/locales/crowdin/no.yml | 17 ++-- modules/meeting/config/locales/crowdin/pl.yml | 17 ++-- .../meeting/config/locales/crowdin/pt-BR.yml | 17 ++-- .../meeting/config/locales/crowdin/pt-PT.yml | 17 ++-- modules/meeting/config/locales/crowdin/ro.yml | 17 ++-- modules/meeting/config/locales/crowdin/ru.yml | 83 +++++++++---------- modules/meeting/config/locales/crowdin/rw.yml | 17 ++-- modules/meeting/config/locales/crowdin/si.yml | 17 ++-- modules/meeting/config/locales/crowdin/sk.yml | 17 ++-- modules/meeting/config/locales/crowdin/sl.yml | 17 ++-- modules/meeting/config/locales/crowdin/sr.yml | 17 ++-- modules/meeting/config/locales/crowdin/sv.yml | 17 ++-- modules/meeting/config/locales/crowdin/th.yml | 17 ++-- modules/meeting/config/locales/crowdin/tr.yml | 17 ++-- modules/meeting/config/locales/crowdin/uk.yml | 17 ++-- modules/meeting/config/locales/crowdin/uz.yml | 17 ++-- modules/meeting/config/locales/crowdin/vi.yml | 17 ++-- .../meeting/config/locales/crowdin/zh-CN.yml | 17 ++-- .../meeting/config/locales/crowdin/zh-TW.yml | 17 ++-- .../reporting/config/locales/crowdin/af.yml | 5 ++ .../reporting/config/locales/crowdin/ar.yml | 5 ++ .../reporting/config/locales/crowdin/az.yml | 5 ++ .../reporting/config/locales/crowdin/be.yml | 5 ++ .../reporting/config/locales/crowdin/bg.yml | 5 ++ .../reporting/config/locales/crowdin/ca.yml | 5 ++ .../config/locales/crowdin/ckb-IR.yml | 5 ++ .../reporting/config/locales/crowdin/cs.yml | 5 ++ .../reporting/config/locales/crowdin/da.yml | 5 ++ .../reporting/config/locales/crowdin/de.yml | 5 ++ .../reporting/config/locales/crowdin/el.yml | 5 ++ .../reporting/config/locales/crowdin/eo.yml | 5 ++ .../reporting/config/locales/crowdin/es.yml | 5 ++ .../reporting/config/locales/crowdin/et.yml | 5 ++ .../reporting/config/locales/crowdin/eu.yml | 5 ++ .../reporting/config/locales/crowdin/fa.yml | 5 ++ .../reporting/config/locales/crowdin/fi.yml | 5 ++ .../reporting/config/locales/crowdin/fil.yml | 5 ++ .../reporting/config/locales/crowdin/fr.yml | 5 ++ .../reporting/config/locales/crowdin/he.yml | 5 ++ .../reporting/config/locales/crowdin/hi.yml | 5 ++ .../reporting/config/locales/crowdin/hr.yml | 5 ++ .../reporting/config/locales/crowdin/hu.yml | 5 ++ .../reporting/config/locales/crowdin/id.yml | 5 ++ .../reporting/config/locales/crowdin/it.yml | 5 ++ .../reporting/config/locales/crowdin/ja.yml | 5 ++ .../reporting/config/locales/crowdin/ka.yml | 5 ++ .../reporting/config/locales/crowdin/kk.yml | 5 ++ .../reporting/config/locales/crowdin/ko.yml | 5 ++ .../reporting/config/locales/crowdin/lt.yml | 5 ++ .../reporting/config/locales/crowdin/lv.yml | 5 ++ .../reporting/config/locales/crowdin/mn.yml | 5 ++ .../reporting/config/locales/crowdin/ms.yml | 5 ++ .../reporting/config/locales/crowdin/ne.yml | 5 ++ .../reporting/config/locales/crowdin/nl.yml | 5 ++ .../reporting/config/locales/crowdin/no.yml | 5 ++ .../reporting/config/locales/crowdin/pl.yml | 5 ++ .../config/locales/crowdin/pt-BR.yml | 5 ++ .../config/locales/crowdin/pt-PT.yml | 5 ++ .../reporting/config/locales/crowdin/ro.yml | 5 ++ .../reporting/config/locales/crowdin/ru.yml | 5 ++ .../reporting/config/locales/crowdin/rw.yml | 5 ++ .../reporting/config/locales/crowdin/si.yml | 5 ++ .../reporting/config/locales/crowdin/sk.yml | 5 ++ .../reporting/config/locales/crowdin/sl.yml | 5 ++ .../reporting/config/locales/crowdin/sr.yml | 5 ++ .../reporting/config/locales/crowdin/sv.yml | 5 ++ .../reporting/config/locales/crowdin/th.yml | 5 ++ .../reporting/config/locales/crowdin/tr.yml | 5 ++ .../reporting/config/locales/crowdin/uk.yml | 5 ++ .../reporting/config/locales/crowdin/uz.yml | 5 ++ .../reporting/config/locales/crowdin/vi.yml | 5 ++ .../config/locales/crowdin/zh-CN.yml | 5 ++ .../config/locales/crowdin/zh-TW.yml | 5 ++ 163 files changed, 794 insertions(+), 524 deletions(-) diff --git a/config/locales/crowdin/af.yml b/config/locales/crowdin/af.yml index f438a90e83c6..b6dc6d8d8b85 100644 --- a/config/locales/crowdin/af.yml +++ b/config/locales/crowdin/af.yml @@ -2245,6 +2245,7 @@ af: label_delete: "Delete" label_deleted: "geskrap" label_deleted_custom_field: "(pasgemaakte veld geskrap)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/ar.yml b/config/locales/crowdin/ar.yml index 56e0e2995479..d1163dcc7ddc 100644 --- a/config/locales/crowdin/ar.yml +++ b/config/locales/crowdin/ar.yml @@ -2389,6 +2389,7 @@ ar: label_delete: "Delete" label_deleted: "محذوف" label_deleted_custom_field: "(حذف حقل مخصص)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(فارغ)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/az.yml b/config/locales/crowdin/az.yml index 37e31fb6135a..eb40360343c0 100644 --- a/config/locales/crowdin/az.yml +++ b/config/locales/crowdin/az.yml @@ -2245,6 +2245,7 @@ az: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/be.yml b/config/locales/crowdin/be.yml index 22f53a98ba3a..266fdb21eb04 100644 --- a/config/locales/crowdin/be.yml +++ b/config/locales/crowdin/be.yml @@ -2317,6 +2317,7 @@ be: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/bg.yml b/config/locales/crowdin/bg.yml index 56c2d7e800ff..47cc8790927a 100644 --- a/config/locales/crowdin/bg.yml +++ b/config/locales/crowdin/bg.yml @@ -2245,6 +2245,7 @@ bg: label_delete: "Delete" label_deleted: "изтрит" label_deleted_custom_field: "(изтрито потребителско поле)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(празно)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/ca.yml b/config/locales/crowdin/ca.yml index a465d320dc0e..9865504d9f5e 100644 --- a/config/locales/crowdin/ca.yml +++ b/config/locales/crowdin/ca.yml @@ -2241,6 +2241,7 @@ ca: label_delete: "Delete" label_deleted: "suprimit" label_deleted_custom_field: "(camp personalitzat suprimit)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(opció eliminada)" label_empty_element: "(buit)" label_missing_or_hidden_custom_option: "(valor absent o manca de permisos per accedir)" diff --git a/config/locales/crowdin/ckb-IR.yml b/config/locales/crowdin/ckb-IR.yml index 3e212cd394af..f7cf71cb37db 100644 --- a/config/locales/crowdin/ckb-IR.yml +++ b/config/locales/crowdin/ckb-IR.yml @@ -2245,6 +2245,7 @@ ckb-IR: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/cs.yml b/config/locales/crowdin/cs.yml index d47917397260..e9a020eae8dc 100644 --- a/config/locales/crowdin/cs.yml +++ b/config/locales/crowdin/cs.yml @@ -2317,6 +2317,7 @@ cs: label_delete: "Delete" label_deleted: "Smazáno" label_deleted_custom_field: "(odstraněno vlastní pole)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(prázdný)" label_missing_or_hidden_custom_option: "(chybí hodnota nebo chybí oprávnění k přístupu)" diff --git a/config/locales/crowdin/da.yml b/config/locales/crowdin/da.yml index ebfa8ce85326..db003db9e8a6 100644 --- a/config/locales/crowdin/da.yml +++ b/config/locales/crowdin/da.yml @@ -2243,6 +2243,7 @@ da: label_delete: "Delete" label_deleted: "slettet" label_deleted_custom_field: "(slettet selvvalgt felt)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(tom)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index 3bfae054b432..b3ee1e7d5bf2 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -2238,6 +2238,7 @@ de: label_delete: "Löschen" label_deleted: "gelöscht" label_deleted_custom_field: "(gelöschtes benutzerdefiniertes Feld)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(gelöschte Option)" label_empty_element: "(leer)" label_missing_or_hidden_custom_option: "(Fehlender Wert oder fehlende Zugriffsberechtigungen)" diff --git a/config/locales/crowdin/el.yml b/config/locales/crowdin/el.yml index 1ce207c4e075..112864cd8414 100644 --- a/config/locales/crowdin/el.yml +++ b/config/locales/crowdin/el.yml @@ -2241,6 +2241,7 @@ el: label_delete: "Delete" label_deleted: "διαγραμμένο" label_deleted_custom_field: "(διαγραμμένο προσαρμοσμένο πεδίο)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(διαγραμμένη επιλογή)" label_empty_element: "(άδειο)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/eo.yml b/config/locales/crowdin/eo.yml index dd5214f8bf0c..45bf456b87ae 100644 --- a/config/locales/crowdin/eo.yml +++ b/config/locales/crowdin/eo.yml @@ -2245,6 +2245,7 @@ eo: label_delete: "Delete" label_deleted: "forigita" label_deleted_custom_field: "(propra kampo forigita)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/es.yml b/config/locales/crowdin/es.yml index 210faf1310d4..3e0346269277 100644 --- a/config/locales/crowdin/es.yml +++ b/config/locales/crowdin/es.yml @@ -2242,6 +2242,7 @@ es: label_delete: "Delete" label_deleted: "borrado" label_deleted_custom_field: "(campo personalizado borrado)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(opción eliminada)" label_empty_element: "(vacío)" label_missing_or_hidden_custom_option: "(faltan valores o permisos de acceso)" diff --git a/config/locales/crowdin/et.yml b/config/locales/crowdin/et.yml index af12d6a187b3..5ffc32bbb343 100644 --- a/config/locales/crowdin/et.yml +++ b/config/locales/crowdin/et.yml @@ -2245,6 +2245,7 @@ et: label_delete: "Delete" label_deleted: "kustutatud" label_deleted_custom_field: "(kustutatud lisaväli)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(tühi)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/eu.yml b/config/locales/crowdin/eu.yml index 31d218243505..f7441e7b1602 100644 --- a/config/locales/crowdin/eu.yml +++ b/config/locales/crowdin/eu.yml @@ -2245,6 +2245,7 @@ eu: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/fa.yml b/config/locales/crowdin/fa.yml index f7c0a372481a..ebd9bbe65b25 100644 --- a/config/locales/crowdin/fa.yml +++ b/config/locales/crowdin/fa.yml @@ -2245,6 +2245,7 @@ fa: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/fi.yml b/config/locales/crowdin/fi.yml index 932189e5bf3a..4066969f80bd 100644 --- a/config/locales/crowdin/fi.yml +++ b/config/locales/crowdin/fi.yml @@ -2245,6 +2245,7 @@ fi: label_delete: "Delete" label_deleted: "poistettu" label_deleted_custom_field: "(poistettu mukautettu kenttä)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(tyhjä)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/fil.yml b/config/locales/crowdin/fil.yml index 137b059bca1d..b38fae8d3598 100644 --- a/config/locales/crowdin/fil.yml +++ b/config/locales/crowdin/fil.yml @@ -2245,6 +2245,7 @@ fil: label_delete: "Delete" label_deleted: "binura" label_deleted_custom_field: "(binurang custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(walang laman)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/fr.yml b/config/locales/crowdin/fr.yml index 2d0bf6362443..6e01db1c4d4f 100644 --- a/config/locales/crowdin/fr.yml +++ b/config/locales/crowdin/fr.yml @@ -2243,6 +2243,7 @@ fr: label_delete: "Delete" label_deleted: "supprimé" label_deleted_custom_field: "(champs personnalisés supprimés)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(option supprimée)" label_empty_element: "(vide)" label_missing_or_hidden_custom_option: "(valeur manquante ou manque d'autorisations d'accès)" diff --git a/config/locales/crowdin/he.yml b/config/locales/crowdin/he.yml index df7db425c794..3431c3c79b96 100644 --- a/config/locales/crowdin/he.yml +++ b/config/locales/crowdin/he.yml @@ -2317,6 +2317,7 @@ he: label_delete: "Delete" label_deleted: "נמחק" label_deleted_custom_field: "(למחוק שדה מותאם אישית)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/hi.yml b/config/locales/crowdin/hi.yml index b5d870a7367e..9826621f235a 100644 --- a/config/locales/crowdin/hi.yml +++ b/config/locales/crowdin/hi.yml @@ -2243,6 +2243,7 @@ hi: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/hr.yml b/config/locales/crowdin/hr.yml index 6230cec12fa6..ff3d79df8b5a 100644 --- a/config/locales/crowdin/hr.yml +++ b/config/locales/crowdin/hr.yml @@ -2281,6 +2281,7 @@ hr: label_delete: "Delete" label_deleted: "izbrisano" label_deleted_custom_field: "(izbrisano prilagođeno polje)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(prazno)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/hu.yml b/config/locales/crowdin/hu.yml index 69b76aca2b26..cc7274f73a9e 100644 --- a/config/locales/crowdin/hu.yml +++ b/config/locales/crowdin/hu.yml @@ -2242,6 +2242,7 @@ hu: label_delete: "Delete" label_deleted: "Törölve" label_deleted_custom_field: "(egyéni mező törölve)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(opció törlése)" label_empty_element: "(üres)" label_missing_or_hidden_custom_option: "(hiányzó érték vagy a hozzáférési jogosultságok hiánya)\n" diff --git a/config/locales/crowdin/id.yml b/config/locales/crowdin/id.yml index 0779a0e3a55d..13de031b6e3a 100644 --- a/config/locales/crowdin/id.yml +++ b/config/locales/crowdin/id.yml @@ -2202,6 +2202,7 @@ id: label_delete: "Delete" label_deleted: "dihapus" label_deleted_custom_field: "(isian kustom dihapus)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(opsi dihapus)" label_empty_element: "(kosong)" label_missing_or_hidden_custom_option: "(nilai hilang atau kurang izin untuk mengakses)" diff --git a/config/locales/crowdin/it.yml b/config/locales/crowdin/it.yml index 4f88f91d8791..f03f4e89c7f6 100644 --- a/config/locales/crowdin/it.yml +++ b/config/locales/crowdin/it.yml @@ -2241,6 +2241,7 @@ it: label_delete: "Delete" label_deleted: "cancellato" label_deleted_custom_field: "(campo personalizzato eliminato)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(opzione eliminata)" label_empty_element: "(vuoto)" label_missing_or_hidden_custom_option: "(valore mancante o assenza di permessi di accesso)" diff --git a/config/locales/crowdin/ja.yml b/config/locales/crowdin/ja.yml index 3b9e2e342597..b58852ea42b8 100644 --- a/config/locales/crowdin/ja.yml +++ b/config/locales/crowdin/ja.yml @@ -2205,6 +2205,7 @@ ja: label_delete: "Delete" label_deleted: "削除された" label_deleted_custom_field: "(削除されたカスタムフィールド)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(削除されたオプション)" label_empty_element: "(空)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/ka.yml b/config/locales/crowdin/ka.yml index 2671120892d9..021c2975d201 100644 --- a/config/locales/crowdin/ka.yml +++ b/config/locales/crowdin/ka.yml @@ -2245,6 +2245,7 @@ ka: label_delete: "Delete" label_deleted: "წაშლილია" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(ცარიელი)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/kk.yml b/config/locales/crowdin/kk.yml index d6264eb84ceb..259df98aed72 100644 --- a/config/locales/crowdin/kk.yml +++ b/config/locales/crowdin/kk.yml @@ -2245,6 +2245,7 @@ kk: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/ko.yml b/config/locales/crowdin/ko.yml index c3a7c64772c8..6845f3b3c7c0 100644 --- a/config/locales/crowdin/ko.yml +++ b/config/locales/crowdin/ko.yml @@ -2208,6 +2208,7 @@ ko: label_delete: "Delete" label_deleted: "삭제됨" label_deleted_custom_field: "(삭제된 사용자 지정 필드)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(삭제된 옵션)" label_empty_element: "(비어 있음)" label_missing_or_hidden_custom_option: "(값이 없거나 액세스 권한이 없음)" diff --git a/config/locales/crowdin/lt.yml b/config/locales/crowdin/lt.yml index 5b5cd914e578..b224abbb9be0 100644 --- a/config/locales/crowdin/lt.yml +++ b/config/locales/crowdin/lt.yml @@ -2314,6 +2314,7 @@ lt: label_delete: "Delete" label_deleted: "panaikintas" label_deleted_custom_field: "(panaikintas vartotojo laukas)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(panaikintas nustatymas)" label_empty_element: "(tuščia)" label_missing_or_hidden_custom_option: "(trūksta reikšmės arba prieigos teisių)" diff --git a/config/locales/crowdin/lv.yml b/config/locales/crowdin/lv.yml index c5ba4f0a6c72..4da29205c39e 100644 --- a/config/locales/crowdin/lv.yml +++ b/config/locales/crowdin/lv.yml @@ -2281,6 +2281,7 @@ lv: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/mn.yml b/config/locales/crowdin/mn.yml index 6bd1113e2a64..9fe932bf067e 100644 --- a/config/locales/crowdin/mn.yml +++ b/config/locales/crowdin/mn.yml @@ -2245,6 +2245,7 @@ mn: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/ms.yml b/config/locales/crowdin/ms.yml index 53a962b992c0..c754c5b9c5cf 100644 --- a/config/locales/crowdin/ms.yml +++ b/config/locales/crowdin/ms.yml @@ -2207,6 +2207,7 @@ ms: label_delete: "Delete" label_deleted: "dipadam" label_deleted_custom_field: "(ruang tersuai yang telah dipadam)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(pilihan yang telah dipadam)" label_empty_element: "(kosong)" label_missing_or_hidden_custom_option: "(nilai yang hilang atau kurang kebenaran untuk mengakses)" diff --git a/config/locales/crowdin/ne.yml b/config/locales/crowdin/ne.yml index 27725fa30261..b28ffc200732 100644 --- a/config/locales/crowdin/ne.yml +++ b/config/locales/crowdin/ne.yml @@ -2245,6 +2245,7 @@ ne: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/nl.yml b/config/locales/crowdin/nl.yml index 831caad7f754..d42475166a69 100644 --- a/config/locales/crowdin/nl.yml +++ b/config/locales/crowdin/nl.yml @@ -2242,6 +2242,7 @@ nl: label_delete: "Delete" label_deleted: "verwijderd" label_deleted_custom_field: "(verwijderde aangepast veld)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(verwijderde optie)" label_empty_element: "(leeg)" label_missing_or_hidden_custom_option: "(ontbrekende waarde of ontbrekende machtigingen voor toegang)" diff --git a/config/locales/crowdin/no.yml b/config/locales/crowdin/no.yml index 022e011e9400..c8d81c13aa1d 100644 --- a/config/locales/crowdin/no.yml +++ b/config/locales/crowdin/no.yml @@ -2244,6 +2244,7 @@ label_delete: "Delete" label_deleted: "slettet" label_deleted_custom_field: "(slettet egendefinert felt)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(slettet alternativ)" label_empty_element: "(tom)" label_missing_or_hidden_custom_option: "(manglende verdi eller manglende rettigheter)" diff --git a/config/locales/crowdin/pl.yml b/config/locales/crowdin/pl.yml index 3f897f60fb13..603c17d01a5c 100644 --- a/config/locales/crowdin/pl.yml +++ b/config/locales/crowdin/pl.yml @@ -2314,6 +2314,7 @@ pl: label_delete: "Delete" label_deleted: "Usunięty" label_deleted_custom_field: "(usunięte pole niestandardowe)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(opcja usunięta)" label_empty_element: "(pusty)" label_missing_or_hidden_custom_option: "(brakująca wartość lub brak uprawnień do dostępu)" diff --git a/config/locales/crowdin/pt-BR.yml b/config/locales/crowdin/pt-BR.yml index 0cf2c28f2eb1..e1e438ef216a 100644 --- a/config/locales/crowdin/pt-BR.yml +++ b/config/locales/crowdin/pt-BR.yml @@ -2242,6 +2242,7 @@ pt-BR: label_delete: "Delete" label_deleted: "excluído" label_deleted_custom_field: "(campo personalizado excluído)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(opção excluída)" label_empty_element: "(vazio)" label_missing_or_hidden_custom_option: "(algum valor faltando ou falta permissões para acessar)" diff --git a/config/locales/crowdin/pt-PT.yml b/config/locales/crowdin/pt-PT.yml index 498e52bd940e..821a484948ce 100644 --- a/config/locales/crowdin/pt-PT.yml +++ b/config/locales/crowdin/pt-PT.yml @@ -2242,6 +2242,7 @@ pt-PT: label_delete: "Delete" label_deleted: "eliminado" label_deleted_custom_field: "(campo personalizado apagado)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(opção eliminada)" label_empty_element: "(vazio)" label_missing_or_hidden_custom_option: "(faltam valores ou permissões para acessar)" diff --git a/config/locales/crowdin/ro.yml b/config/locales/crowdin/ro.yml index 6706f7d7746c..5bb98dee8d27 100644 --- a/config/locales/crowdin/ro.yml +++ b/config/locales/crowdin/ro.yml @@ -2281,6 +2281,7 @@ ro: label_delete: "Delete" label_deleted: "șters" label_deleted_custom_field: "(câmp personalizat șters)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(opțiune eliminată)" label_empty_element: "(gol)" label_missing_or_hidden_custom_option: "(valoare lipsă sau lipsa permisiunilor de acces)" diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index f51728474470..c22b1bedec1d 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -1077,7 +1077,7 @@ ru: blank: "является обязательным. Пожалуйста, выберите имя." not_unique: "уже используется. Пожалуйста, выберите другое имя." meeting: - error_conflict: "Невозможно сохранить, потому что встреча была обновлена кем-то другим за это время. Пожалуйста, перезагрузите страницу." + error_conflict: "Невозможно сохранить, потому что совещание было обновлено кем-то другим за это время. Пожалуйста, перезагрузите страницу." notifications: at_least_one_channel: "Нужно указать хотя бы один канал для отправки уведомлений." attributes: @@ -2316,6 +2316,7 @@ ru: label_delete: "Удалить" label_deleted: "Удалено" label_deleted_custom_field: "(удалено настраиваемое поле)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(удалённая опция)" label_empty_element: "(пусто)" label_missing_or_hidden_custom_option: "(отсутствует значение или недостаточно прав для доступа)" diff --git a/config/locales/crowdin/rw.yml b/config/locales/crowdin/rw.yml index 74151ba2acb3..ccbbefc06dec 100644 --- a/config/locales/crowdin/rw.yml +++ b/config/locales/crowdin/rw.yml @@ -2245,6 +2245,7 @@ rw: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/si.yml b/config/locales/crowdin/si.yml index 8bfb7f03cea4..d4410595246b 100644 --- a/config/locales/crowdin/si.yml +++ b/config/locales/crowdin/si.yml @@ -2245,6 +2245,7 @@ si: label_delete: "Delete" label_deleted: "මකා දැමූ" label_deleted_custom_field: "(මකා දමන ලද අභිරුචි ක්ෂේත්රය)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(හිස්)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/sk.yml b/config/locales/crowdin/sk.yml index 4ff614a92a52..615868643997 100644 --- a/config/locales/crowdin/sk.yml +++ b/config/locales/crowdin/sk.yml @@ -2317,6 +2317,7 @@ sk: label_delete: "Delete" label_deleted: "odstránené" label_deleted_custom_field: "(odstrániť vlastné pole)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(prázdny)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/sl.yml b/config/locales/crowdin/sl.yml index 1531319f3905..a09b09607d9a 100644 --- a/config/locales/crowdin/sl.yml +++ b/config/locales/crowdin/sl.yml @@ -2314,6 +2314,7 @@ sl: label_delete: "Delete" label_deleted: "Izbrisano" label_deleted_custom_field: "(izbrisano polje po meri)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(izbrisana možnost)" label_empty_element: "(prazno)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/sr.yml b/config/locales/crowdin/sr.yml index 33b6ce7293f2..b4c1eaf72228 100644 --- a/config/locales/crowdin/sr.yml +++ b/config/locales/crowdin/sr.yml @@ -2281,6 +2281,7 @@ sr: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/sv.yml b/config/locales/crowdin/sv.yml index 69cd219e6932..e683e815a706 100644 --- a/config/locales/crowdin/sv.yml +++ b/config/locales/crowdin/sv.yml @@ -2244,6 +2244,7 @@ sv: label_delete: "Delete" label_deleted: "raderad" label_deleted_custom_field: "(raderat anpassat fält)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(tom)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/th.yml b/config/locales/crowdin/th.yml index e622c7886da5..5940c6b72a0a 100644 --- a/config/locales/crowdin/th.yml +++ b/config/locales/crowdin/th.yml @@ -2209,6 +2209,7 @@ th: label_delete: "Delete" label_deleted: "ถูกลบ" label_deleted_custom_field: "(ฟิลด์ที่กำหนดเองที่ถูกลบ)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(ว่าง)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/tr.yml b/config/locales/crowdin/tr.yml index 6f5afcef90d4..c5267f193c46 100644 --- a/config/locales/crowdin/tr.yml +++ b/config/locales/crowdin/tr.yml @@ -2243,6 +2243,7 @@ tr: label_delete: "Delete" label_deleted: "silindi" label_deleted_custom_field: "(özel alan silindi)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(silinen seçenek)" label_empty_element: "(boş)" label_missing_or_hidden_custom_option: "(eksik değer veya erişim izinleri eksik)" diff --git a/config/locales/crowdin/uk.yml b/config/locales/crowdin/uk.yml index 70a9d6a50678..3009e1859e7b 100644 --- a/config/locales/crowdin/uk.yml +++ b/config/locales/crowdin/uk.yml @@ -2310,6 +2310,7 @@ uk: label_delete: "Delete" label_deleted: "вилучено " label_deleted_custom_field: "(видалено спеціальне поле)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(параметр видалення)" label_empty_element: "(пусто)" label_missing_or_hidden_custom_option: "(відсутнє значення або бракує дозволів для доступу)" diff --git a/config/locales/crowdin/uz.yml b/config/locales/crowdin/uz.yml index 27ade628627b..7ceee0d5ced0 100644 --- a/config/locales/crowdin/uz.yml +++ b/config/locales/crowdin/uz.yml @@ -2245,6 +2245,7 @@ uz: label_delete: "Delete" label_deleted: "deleted" label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(deleted option)" label_empty_element: "(empty)" label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" diff --git a/config/locales/crowdin/vi.yml b/config/locales/crowdin/vi.yml index e167a120bdb2..207ad1e19180 100644 --- a/config/locales/crowdin/vi.yml +++ b/config/locales/crowdin/vi.yml @@ -2211,6 +2211,7 @@ vi: label_delete: "Delete" label_deleted: "đã xóa" label_deleted_custom_field: "(đã xóa các mục tùy chỉnh)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(tùy chọn đã xóa)" label_empty_element: "(rỗng)" label_missing_or_hidden_custom_option: "(giá trị thiếu hoặc không có quyền truy cập)" diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index 73ca4ba5538c..5092388d21dd 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -2204,6 +2204,7 @@ zh-CN: label_delete: "删除" label_deleted: "已删除" label_deleted_custom_field: "(删除自定义字段)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(删除的选项)" label_empty_element: "(空)" label_missing_or_hidden_custom_option: "(缺少值或缺少访问权限)" diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index 4f3decd6c414..686498223b8a 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -2206,6 +2206,7 @@ zh-TW: label_delete: "Delete" label_deleted: "刪除線" label_deleted_custom_field: "(已刪除的客製欄位)" + label_deleted_custom_item: "(deleted item)" label_deleted_custom_option: "(刪除的選項)" label_empty_element: "(空)" label_missing_or_hidden_custom_option: "(缺少值或缺少訪問權限)" diff --git a/modules/auth_saml/config/locales/crowdin/ms.yml b/modules/auth_saml/config/locales/crowdin/ms.yml index 52114feed568..9ea882adba52 100644 --- a/modules/auth_saml/config/locales/crowdin/ms.yml +++ b/modules/auth_saml/config/locales/crowdin/ms.yml @@ -2,10 +2,10 @@ ms: activemodel: attributes: saml/provider: - display_name: Name - identifier: Identifier - secret: Secret - scope: Scope + display_name: Nama + identifier: Pengenalan + secret: Sulit + scope: Skop assertion_consumer_service_url: ACS (Assertion consumer service) URL limit_self_registration: Limit self registration sp_entity_id: Service entity ID diff --git a/modules/meeting/config/locales/crowdin/af.yml b/modules/meeting/config/locales/crowdin/af.yml index fdcc3bd00f65..7da6f3935773 100644 --- a/modules/meeting/config/locales/crowdin/af.yml +++ b/modules/meeting/config/locales/crowdin/af.yml @@ -53,7 +53,8 @@ af: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ af: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ af: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/ar.yml b/modules/meeting/config/locales/crowdin/ar.yml index 2ab800bb1c54..a79dde61e7f7 100644 --- a/modules/meeting/config/locales/crowdin/ar.yml +++ b/modules/meeting/config/locales/crowdin/ar.yml @@ -57,7 +57,8 @@ ar: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -197,9 +198,6 @@ ar: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -223,15 +221,16 @@ ar: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "تم إرسال الإشعار بنجاح" notice_timezone_missing: لم يتم تعيين المنطقة الزمنية و%{zone} مُفترض. لاختيار منطقتك الزمنية، من فضلك اضغط هنا. diff --git a/modules/meeting/config/locales/crowdin/az.yml b/modules/meeting/config/locales/crowdin/az.yml index 1aa3a66d8627..9e087f08d684 100644 --- a/modules/meeting/config/locales/crowdin/az.yml +++ b/modules/meeting/config/locales/crowdin/az.yml @@ -53,7 +53,8 @@ az: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ az: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ az: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/be.yml b/modules/meeting/config/locales/crowdin/be.yml index b7fb33f441ef..c86653944ed3 100644 --- a/modules/meeting/config/locales/crowdin/be.yml +++ b/modules/meeting/config/locales/crowdin/be.yml @@ -55,7 +55,8 @@ be: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -195,9 +196,6 @@ be: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -221,15 +219,16 @@ be: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/bg.yml b/modules/meeting/config/locales/crowdin/bg.yml index f037b41c9552..89312e4e0c04 100644 --- a/modules/meeting/config/locales/crowdin/bg.yml +++ b/modules/meeting/config/locales/crowdin/bg.yml @@ -53,7 +53,8 @@ bg: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ bg: placeholder_title: "New section" empty_text: "Завлечете елементите тук, или създайте нов елемент" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ bg: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/ca.yml b/modules/meeting/config/locales/crowdin/ca.yml index 4d3430d54136..3507baa2dacc 100644 --- a/modules/meeting/config/locales/crowdin/ca.yml +++ b/modules/meeting/config/locales/crowdin/ca.yml @@ -53,7 +53,8 @@ ca: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ ca: placeholder_title: "Nova secció" empty_text: "Arrossega els elements aquí o crea un de nou" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ ca: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notificació enviada correctament" notice_timezone_missing: No s'ha configurat la zona horària i la %{zone} és assumida. Per seleccionar la teva zona horària, si us plau, fes clic aquí. diff --git a/modules/meeting/config/locales/crowdin/ckb-IR.yml b/modules/meeting/config/locales/crowdin/ckb-IR.yml index f248cb2efab6..ae002135777c 100644 --- a/modules/meeting/config/locales/crowdin/ckb-IR.yml +++ b/modules/meeting/config/locales/crowdin/ckb-IR.yml @@ -53,7 +53,8 @@ ckb-IR: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ ckb-IR: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ ckb-IR: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/cs.yml b/modules/meeting/config/locales/crowdin/cs.yml index dffc110eea79..e11ef2563d6b 100644 --- a/modules/meeting/config/locales/crowdin/cs.yml +++ b/modules/meeting/config/locales/crowdin/cs.yml @@ -55,7 +55,8 @@ cs: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -195,9 +196,6 @@ cs: placeholder_title: "Nová sekce" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -221,15 +219,16 @@ cs: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Oznámení bylo úspěšně odesláno" notice_timezone_missing: Není nastaveno žádné časové pásmo a předpokládá se %{zone} . Chcete-li vybrat časové pásmo, klikněte prosím zde. diff --git a/modules/meeting/config/locales/crowdin/da.yml b/modules/meeting/config/locales/crowdin/da.yml index 2f5cca5c8c35..da1f94304dca 100644 --- a/modules/meeting/config/locales/crowdin/da.yml +++ b/modules/meeting/config/locales/crowdin/da.yml @@ -53,7 +53,8 @@ da: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ da: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ da: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Påmindelse er afsendt" notice_timezone_missing: Der er ikke sat en tidszone og systemet har valgt %{zone}. For at vælge din egen tidszone, klik venligst her. diff --git a/modules/meeting/config/locales/crowdin/de.yml b/modules/meeting/config/locales/crowdin/de.yml index 57d5376ac760..d59087cbddf2 100644 --- a/modules/meeting/config/locales/crowdin/de.yml +++ b/modules/meeting/config/locales/crowdin/de.yml @@ -53,7 +53,8 @@ de: recurring_meeting: frequency: "Häufigkeit" interval: "Intervall" - end_after: "Ende nach" + start_date: "Starts on" + end_after: "End series after" iterations: "Ereignisse" errors: messages: @@ -193,9 +194,6 @@ de: placeholder_title: "Neuer Abschnitt" empty_text: "Neue Agendapunkte hierhin bewegen oder neu erstellen" recurring_meeting: - interval: - instructions: > - Geben Sie die Anzahl der Tage oder Wochen zwischen den einzelnen Ereignissen an. occurrence: infoline: "Diese Besprechung ist Teil einer wiederkehrenden Besprechungsreihe." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ de: working_days: "Every working day" weekly: "Wöchentlich" end_after: - specific_date: "Ein bestimmtes Datum" - iterations: "Eine Reihe von Ereignissen" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Beginnt" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Jeden Arbeitstag" working_days_interval: "Every %{interval} working day" - weekly: "Wöchentlich am %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Benachrichtigung erfolgreich gesendet" notice_timezone_missing: Keine Zeitzone eingestellt und daher %{zone} angenommen. Um Ihre Zeitzone einzustellen, klicken Sie bitte hier. diff --git a/modules/meeting/config/locales/crowdin/el.yml b/modules/meeting/config/locales/crowdin/el.yml index 99319a025cd0..ccf4fbdbad07 100644 --- a/modules/meeting/config/locales/crowdin/el.yml +++ b/modules/meeting/config/locales/crowdin/el.yml @@ -53,7 +53,8 @@ el: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ el: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ el: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Η ειδοποίηση απεστάλη επιτυχώς" notice_timezone_missing: Δεν έχει οριστεί ζώνη ώρας και θεωρήθηκε η %{zone}. Για να επιλέξετε την ζώνη ώρας σας, παρακαλούμε κάντε κλικ εδώ. diff --git a/modules/meeting/config/locales/crowdin/eo.yml b/modules/meeting/config/locales/crowdin/eo.yml index 30dd67c08c6b..224dc5fc9f42 100644 --- a/modules/meeting/config/locales/crowdin/eo.yml +++ b/modules/meeting/config/locales/crowdin/eo.yml @@ -53,7 +53,8 @@ eo: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ eo: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ eo: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/es.yml b/modules/meeting/config/locales/crowdin/es.yml index 4c1db3bb779f..17b9b2df5ff3 100644 --- a/modules/meeting/config/locales/crowdin/es.yml +++ b/modules/meeting/config/locales/crowdin/es.yml @@ -53,7 +53,8 @@ es: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ es: placeholder_title: "Nueva sección" empty_text: "Arrastre los elementos aquí o cree uno nuevo" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ es: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notificación enviada correctamente" notice_timezone_missing: No se ha establecido zona horaria y se asume %{zone}. Para elegir su zona horaria, por favor, haga clic aquí. diff --git a/modules/meeting/config/locales/crowdin/et.yml b/modules/meeting/config/locales/crowdin/et.yml index 6581c5c0dafc..de5c208c7f00 100644 --- a/modules/meeting/config/locales/crowdin/et.yml +++ b/modules/meeting/config/locales/crowdin/et.yml @@ -53,7 +53,8 @@ et: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ et: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ et: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/eu.yml b/modules/meeting/config/locales/crowdin/eu.yml index 4116ef989587..7e200832ea31 100644 --- a/modules/meeting/config/locales/crowdin/eu.yml +++ b/modules/meeting/config/locales/crowdin/eu.yml @@ -53,7 +53,8 @@ eu: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ eu: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ eu: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Jakinarazpena ondo bidali da" notice_timezone_missing: Ez da ordu-eremurik zehaztu eta %{zone} hartu da ontzat. Ordu-eremua aukeratzeko klikatu hemen, mesedez. diff --git a/modules/meeting/config/locales/crowdin/fa.yml b/modules/meeting/config/locales/crowdin/fa.yml index 9266b46757e0..c9eebd162b51 100644 --- a/modules/meeting/config/locales/crowdin/fa.yml +++ b/modules/meeting/config/locales/crowdin/fa.yml @@ -53,7 +53,8 @@ fa: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ fa: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ fa: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/fi.yml b/modules/meeting/config/locales/crowdin/fi.yml index ff1a99fab27e..74baa56210e4 100644 --- a/modules/meeting/config/locales/crowdin/fi.yml +++ b/modules/meeting/config/locales/crowdin/fi.yml @@ -53,7 +53,8 @@ fi: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ fi: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ fi: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Ilmoituksen lähettäminen onnistui" notice_timezone_missing: Aikavyöhykettä ei ole määritetty, joten oletuksena on %{zone}. Valitaksesi aikavyöhykkeen, klikkaa tästä. diff --git a/modules/meeting/config/locales/crowdin/fil.yml b/modules/meeting/config/locales/crowdin/fil.yml index fbbefa58b540..4cbec9fb0672 100644 --- a/modules/meeting/config/locales/crowdin/fil.yml +++ b/modules/meeting/config/locales/crowdin/fil.yml @@ -53,7 +53,8 @@ fil: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ fil: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ fil: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Ang abiso ay naipadala ng matagumpay" notice_timezone_missing: Walang nakatakdang time zone at ang %{zone} ay ipinagpalagay na siyang time zone. Para piliin ang iyong time zone, mangyaring magclick dito. diff --git a/modules/meeting/config/locales/crowdin/fr.yml b/modules/meeting/config/locales/crowdin/fr.yml index b26da98058ad..3628946f0574 100644 --- a/modules/meeting/config/locales/crowdin/fr.yml +++ b/modules/meeting/config/locales/crowdin/fr.yml @@ -53,7 +53,8 @@ fr: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ fr: placeholder_title: "Nouvelle section" empty_text: "Faites glisser des éléments ici ou créez-en un nouveau" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ fr: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" 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. diff --git a/modules/meeting/config/locales/crowdin/he.yml b/modules/meeting/config/locales/crowdin/he.yml index bdfeab834b7a..fc6c129d5ade 100644 --- a/modules/meeting/config/locales/crowdin/he.yml +++ b/modules/meeting/config/locales/crowdin/he.yml @@ -55,7 +55,8 @@ he: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -195,9 +196,6 @@ he: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -221,15 +219,16 @@ he: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "הודעה נשלחה בהצלחה" notice_timezone_missing: אין איזור זמן מוגדר, ההערכה היא %{zone}. כדי לבחור את איזור הזמן שלך, אנא לחץ כאן. diff --git a/modules/meeting/config/locales/crowdin/hi.yml b/modules/meeting/config/locales/crowdin/hi.yml index 7769810c5b23..4e5648e9e41a 100644 --- a/modules/meeting/config/locales/crowdin/hi.yml +++ b/modules/meeting/config/locales/crowdin/hi.yml @@ -53,7 +53,8 @@ hi: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ hi: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ hi: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/hr.yml b/modules/meeting/config/locales/crowdin/hr.yml index 3a6255163cde..443a2259569f 100644 --- a/modules/meeting/config/locales/crowdin/hr.yml +++ b/modules/meeting/config/locales/crowdin/hr.yml @@ -54,7 +54,8 @@ hr: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -194,9 +195,6 @@ hr: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -220,15 +218,16 @@ hr: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notifikacija uspješno poslana" notice_timezone_missing: Vremenska zona nije postavljena na osnovu zamišljene %{zone} zone. Da bi ste odabrali vremensku zonu molim vas kliknite ovdje. diff --git a/modules/meeting/config/locales/crowdin/hu.yml b/modules/meeting/config/locales/crowdin/hu.yml index 805de8ce2826..59fc23ab24dd 100644 --- a/modules/meeting/config/locales/crowdin/hu.yml +++ b/modules/meeting/config/locales/crowdin/hu.yml @@ -53,7 +53,8 @@ hu: recurring_meeting: frequency: "Gyakoriság" interval: "Időköz" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Előfordulások" errors: messages: @@ -193,9 +194,6 @@ hu: placeholder_title: "New section" empty_text: "Húzza ide az elemeket, vagy hozzon létre egy újat" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ hu: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Értesítés sikeresen kiküldve" notice_timezone_missing: Nincs időzóna beállítva, %{zone} a feltételezett. Időzóna beállításához kattintson ide. diff --git a/modules/meeting/config/locales/crowdin/id.yml b/modules/meeting/config/locales/crowdin/id.yml index f946dc1388a9..24feb5a7b5f6 100644 --- a/modules/meeting/config/locales/crowdin/id.yml +++ b/modules/meeting/config/locales/crowdin/id.yml @@ -52,7 +52,8 @@ id: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -192,9 +193,6 @@ id: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -218,15 +216,16 @@ id: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Berhasil mengirim notifikasi" notice_timezone_missing: Tidak ada zona waktu yang ditetapkan sehingga diasumsikan %{zone}. Untuk memilih zona waktu, silakan mengeklik di sini. diff --git a/modules/meeting/config/locales/crowdin/it.yml b/modules/meeting/config/locales/crowdin/it.yml index dd53db5edc58..3ac744a3ff90 100644 --- a/modules/meeting/config/locales/crowdin/it.yml +++ b/modules/meeting/config/locales/crowdin/it.yml @@ -53,7 +53,8 @@ it: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ it: placeholder_title: "Nuova sezione" empty_text: "Trascina gli elementi qui o creane una nuova" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ it: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notifica inviata con successo" notice_timezone_missing: Nessun fuso orario è impostato e la %{zone} è un requisito necessario. Per scegliere il tuo fuso orario, fare clic qui. diff --git a/modules/meeting/config/locales/crowdin/ja.yml b/modules/meeting/config/locales/crowdin/ja.yml index 3762f391e5a9..eb54c3a1f56b 100644 --- a/modules/meeting/config/locales/crowdin/ja.yml +++ b/modules/meeting/config/locales/crowdin/ja.yml @@ -52,7 +52,8 @@ ja: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -192,9 +193,6 @@ ja: placeholder_title: "新しいセクション" empty_text: "アイテムをここにドラッグするか、新しいアイテムを作成してください" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -218,15 +216,16 @@ ja: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "通知が正常に送信されました" notice_timezone_missing: タイムゾーンが設定されていない場合、%{zone} が使用されます。タイムゾーンを選択するには、ここをクリックしてください。 diff --git a/modules/meeting/config/locales/crowdin/ka.yml b/modules/meeting/config/locales/crowdin/ka.yml index 2ded66d51f31..240dc3eded08 100644 --- a/modules/meeting/config/locales/crowdin/ka.yml +++ b/modules/meeting/config/locales/crowdin/ka.yml @@ -53,7 +53,8 @@ ka: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ ka: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ ka: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/kk.yml b/modules/meeting/config/locales/crowdin/kk.yml index 7fe8549dc432..f440ee2a8bfc 100644 --- a/modules/meeting/config/locales/crowdin/kk.yml +++ b/modules/meeting/config/locales/crowdin/kk.yml @@ -53,7 +53,8 @@ kk: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ kk: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ kk: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/ko.yml b/modules/meeting/config/locales/crowdin/ko.yml index a079d8200319..7e8abcc3776a 100644 --- a/modules/meeting/config/locales/crowdin/ko.yml +++ b/modules/meeting/config/locales/crowdin/ko.yml @@ -52,7 +52,8 @@ ko: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -192,9 +193,6 @@ ko: placeholder_title: "새 섹션" empty_text: "항목을 여기에 끌어오거나 새로 만들기" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -218,15 +216,16 @@ ko: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "알림이 전송됨" notice_timezone_missing: 표준 시간대가 설정되지 않았으며 %{zone}(으)로 간주됩니다. 해당 표준 시간대를 선택하려면 여기를 클릭하세요. diff --git a/modules/meeting/config/locales/crowdin/lt.yml b/modules/meeting/config/locales/crowdin/lt.yml index 6f227f929c4d..6ed716a98cfc 100644 --- a/modules/meeting/config/locales/crowdin/lt.yml +++ b/modules/meeting/config/locales/crowdin/lt.yml @@ -55,7 +55,8 @@ lt: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -195,9 +196,6 @@ lt: placeholder_title: "Nauja skiltis" empty_text: "Tempkite elementus čia arba sukurtkite naują" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -221,15 +219,16 @@ lt: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Pranešimas sėkmingai išsiųstas" notice_timezone_missing: Laiko zona nenustatyta ir %{zone} zona yra rekomenduojama. Kad pasirinktumėte laiko zoną, paspauskite čia. diff --git a/modules/meeting/config/locales/crowdin/lv.yml b/modules/meeting/config/locales/crowdin/lv.yml index bfebfff98cf2..5841b7a4de9d 100644 --- a/modules/meeting/config/locales/crowdin/lv.yml +++ b/modules/meeting/config/locales/crowdin/lv.yml @@ -54,7 +54,8 @@ lv: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -194,9 +195,6 @@ lv: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -220,15 +218,16 @@ lv: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Paziņojums veiksmīgi nosūtīts" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/mn.yml b/modules/meeting/config/locales/crowdin/mn.yml index aed61b941f4c..949f75e2c44f 100644 --- a/modules/meeting/config/locales/crowdin/mn.yml +++ b/modules/meeting/config/locales/crowdin/mn.yml @@ -53,7 +53,8 @@ mn: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ mn: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ mn: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/ms.yml b/modules/meeting/config/locales/crowdin/ms.yml index c2c2b149ea3c..6439ef2ef9aa 100644 --- a/modules/meeting/config/locales/crowdin/ms.yml +++ b/modules/meeting/config/locales/crowdin/ms.yml @@ -52,7 +52,8 @@ ms: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -192,9 +193,6 @@ ms: placeholder_title: "Bahagian baharu" empty_text: "Tarik item ke sini atau cipta yang baharu" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -218,15 +216,16 @@ ms: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Pemberitahuan berjaya dihantar" notice_timezone_missing: Tiada zon waktu yang ditetapkan dan %{zone} adalah diandaikan. Untuk pilih zon waktu anda, sila klik sini. diff --git a/modules/meeting/config/locales/crowdin/ne.yml b/modules/meeting/config/locales/crowdin/ne.yml index 58ae1dba9e7b..0c15e8c19f7a 100644 --- a/modules/meeting/config/locales/crowdin/ne.yml +++ b/modules/meeting/config/locales/crowdin/ne.yml @@ -53,7 +53,8 @@ ne: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ ne: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ ne: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/nl.yml b/modules/meeting/config/locales/crowdin/nl.yml index 446cde65aeef..13f5e68274a8 100644 --- a/modules/meeting/config/locales/crowdin/nl.yml +++ b/modules/meeting/config/locales/crowdin/nl.yml @@ -53,7 +53,8 @@ nl: recurring_meeting: frequency: "Frequentie" interval: "Interval" - end_after: "Eindigt na" + start_date: "Starts on" + end_after: "End series after" iterations: "Voorvallen" errors: messages: @@ -193,9 +194,6 @@ nl: placeholder_title: "Nieuwe Sectie" empty_text: "Sleep items hierheen of maak een nieuwe" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ nl: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notificatie succesvol verzonden" notice_timezone_missing: Geen tijdzone is ingesteld en %{zone} is aangenomen. Om uw tijdzone te kiezen, klik dan hier. diff --git a/modules/meeting/config/locales/crowdin/no.yml b/modules/meeting/config/locales/crowdin/no.yml index 21b42eae7dd6..bf5c531e8932 100644 --- a/modules/meeting/config/locales/crowdin/no.yml +++ b/modules/meeting/config/locales/crowdin/no.yml @@ -53,7 +53,8 @@ recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ placeholder_title: "Ny seksjon" empty_text: "Dra punkter hit eller opprett et nytt" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Påminning sendt" notice_timezone_missing: Ingen tidssone angis og %{zone} antas. Vennligst klikk her for å velge egen tidssone. diff --git a/modules/meeting/config/locales/crowdin/pl.yml b/modules/meeting/config/locales/crowdin/pl.yml index d5d6aeaa6765..891988f7c0d2 100644 --- a/modules/meeting/config/locales/crowdin/pl.yml +++ b/modules/meeting/config/locales/crowdin/pl.yml @@ -55,7 +55,8 @@ pl: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -195,9 +196,6 @@ pl: placeholder_title: "Nowa sekcja" empty_text: "Przeciągnij elementy tutaj lub utwórz nowe" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -221,15 +219,16 @@ pl: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Powiadomienia wysłane pomyślnie" notice_timezone_missing: 'Została ustawiona domyślna strefa czasowa: %{zone}. Aby zmienić strefę czasową, kliknij tutaj.' diff --git a/modules/meeting/config/locales/crowdin/pt-BR.yml b/modules/meeting/config/locales/crowdin/pt-BR.yml index ef737a5c36dd..19aeced756e6 100644 --- a/modules/meeting/config/locales/crowdin/pt-BR.yml +++ b/modules/meeting/config/locales/crowdin/pt-BR.yml @@ -53,7 +53,8 @@ pt-BR: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ pt-BR: placeholder_title: "Nova seção" empty_text: "Arraste itens para cá ou crie um novo." recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ pt-BR: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" 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. diff --git a/modules/meeting/config/locales/crowdin/pt-PT.yml b/modules/meeting/config/locales/crowdin/pt-PT.yml index 81465b5ac253..252f68f1a5f1 100644 --- a/modules/meeting/config/locales/crowdin/pt-PT.yml +++ b/modules/meeting/config/locales/crowdin/pt-PT.yml @@ -53,7 +53,8 @@ pt-PT: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ pt-PT: placeholder_title: "Nova secção" empty_text: "Arraste itens para aqui ou crie um novo" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ pt-PT: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notificação enviada com sucesso" notice_timezone_missing: Sem fuso horário definido, presume-se %{zone}. Para escolher o seu fuso horário, por favor clique aqui. diff --git a/modules/meeting/config/locales/crowdin/ro.yml b/modules/meeting/config/locales/crowdin/ro.yml index 3ff0e9c1af6b..fead144d50c8 100644 --- a/modules/meeting/config/locales/crowdin/ro.yml +++ b/modules/meeting/config/locales/crowdin/ro.yml @@ -54,7 +54,8 @@ ro: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -194,9 +195,6 @@ ro: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -220,15 +218,16 @@ ro: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notificare trimisă cu succes" notice_timezone_missing: Nu este setat niciun fus orar și se presupune %{zone}. Pentru a vă alege fusul orar, vă rugăm să faceți clic aici. diff --git a/modules/meeting/config/locales/crowdin/ru.yml b/modules/meeting/config/locales/crowdin/ru.yml index 61833e2622c9..a93087911e7a 100644 --- a/modules/meeting/config/locales/crowdin/ru.yml +++ b/modules/meeting/config/locales/crowdin/ru.yml @@ -24,7 +24,7 @@ ru: plugin_openproject_meeting: name: "Встреча OpenProject" description: >- - Этот модуль добавляет функции для поддержки встреч проектов в OpenProject. Для участия в работе совещания могут быть запланированы приглашенные из того же проекта. Повестка дня может быть создана и отправлена приглашенным лицам. После встречи участники могут быть выбраны и минуты могут быть созданы на основе повестки дня. Наконец, минуты могут быть отправлены всем участникам и приглашенным. + Этот модуль добавляет поддержку совещаний в проектах. Совещания могут быть запланированы, выбрав приглашенных из того же проекта. Повестка дня может быть создана и отправлена приглашенным лицам. После совещания можно выбрать участников и создать протокол на основе повестки дня. Протокол может быть отправлен всем участникам и приглашенным. activerecord: attributes: meeting: @@ -55,13 +55,14 @@ ru: recurring_meeting: frequency: "Периодичность" interval: "Промежуток" - end_after: "Окончание через" + start_date: "Starts on" + end_after: "End series after" iterations: "События" errors: messages: invalid_time_format: "недопустимое время. Требуемый формат: ЧЧ:ММ" models: - recurring_meeting: "Повторяющаяся встреча" + recurring_meeting: "Повторяющееся совещание" structured_meeting: "Встреча (динамическая)" meeting_agenda_item: "Пункт повестки" meeting_agenda: "Повестка дня" @@ -96,8 +97,8 @@ ru: label_meeting: "Совещание" label_meeting_plural: "Совещания" label_meeting_new: "Новое совещание" - label_meeting_new_dynamic: "Новая динамичная встреча" - label_meeting_new_recurring: "Новая повторяющаяся встреча" + label_meeting_new_dynamic: "Новое активное совещание" + label_meeting_new_recurring: "Новое повторяющееся совещание" label_meeting_create: "Создать совещание" label_meeting_copy: "Копировать совещание" label_meeting_edit: "Измененить совещание" @@ -111,30 +112,30 @@ ru: label_meeting_date_time: "Дата/Время" label_meeting_date_and_time: "Дата и время" label_meeting_diff: "Различия" - label_recurring_meeting: "Повторяющаяся встреча" - label_recurring_meeting_part_of: "Часть серии встреч" - label_recurring_meeting_new: "Новая повторяющаяся встреча" - label_recurring_meeting_plural: "Повторяющиеся встречи" + label_recurring_meeting: "Повторяющееся совещание" + label_recurring_meeting_part_of: "Часть серии совещаний" + label_recurring_meeting_new: "Новое повторяющееся совещание" + label_recurring_meeting_plural: "Повторяющиеся совещания" label_template: "Шаблон" - label_recurring_meeting_view: "Посмотреть серию встреч" + label_recurring_meeting_view: "Посмотреть серию совещаний" label_recurring_meeting_create: "Создать из шаблона" label_recurring_meeting_copy: "Копировать как одноразовое" label_recurring_meeting_cancel: "Отменить это событие" label_recurring_meeting_delete: "Удалить событие" label_recurring_meeting_delete_confirmation: > - Эта встреча является частью серии под названием %{name}. Это приведет к удалению только этой конкретной встречи, а не всей серии. Вы хотите продолжить? + Это совещание является частью серии под названием %{name}. Это приведет к удалению только этого конкретного совещания, а не всей серии. Вы хотите продолжить? label_recurring_occurrence_delete_confirmation: > - Любая информация о встрече, не включенная в шаблон, будет потеряна. Вы хотите продолжить? + Любая информация о совещании, не включенная в шаблон, будет потеряна. Вы хотите продолжить? label_recurring_meeting_restore: "Восстановить это событие" - label_recurring_meeting_more: "Есть еще %{count} запланированных встреч (%{schedule})." - label_recurring_meeting_more_singular: "Есть еще %{count} запланированная встреча (%{schedule})." - label_recurring_meeting_more_past: "Есть еще %{count} прошлых встреч." - label_recurring_meeting_more_past_singular: "Есть еще %{count} прошедшая встреча." + label_recurring_meeting_more: "Есть еще %{count} запланированных совещаний (%{schedule})." + label_recurring_meeting_more_singular: "Есть еще %{count} запланированное совещание (%{schedule})." + label_recurring_meeting_more_past: "Есть еще %{count} прошедших совещаний." + label_recurring_meeting_more_past_singular: "Есть еще %{count} прошедшее совещание." label_recurring_meeting_show_more: "Показать еще" - label_recurring_meeting_series_edit: "Изменить серию встреч" - label_recurring_meeting_series_delete: "Удалить серию встреч" - label_my_meetings: "Мои встречи" - label_all_meetings: "Все встречи" + label_recurring_meeting_series_edit: "Изменить серию совещаний" + label_recurring_meeting_series_delete: "Удалить серию совещаний" + label_my_meetings: "Мои совещания" + label_all_meetings: "Все совещания" label_upcoming_meetings: "Предстоящие встречи" label_past_meetings: "Прошедшие встречи" label_upcoming_meetings_short: "Предстоящие" @@ -147,17 +148,17 @@ ru: label_notify: "Отправка на рецензию" label_icalendar: "Отправить iCalendar" label_icalendar_download: "Скачать мероприятие iCalendar" - label_view_meeting_series: "Посмотреть серию встреч" - label_meeting_series: "Серия встреч" + label_view_meeting_series: "Посмотреть серию совещаний" + label_meeting_series: "Серия совещаний" label_version: "Версия" label_time_zone: "Часовой пояс" label_start_date: "Дата начала" meeting: participants: - template: "Эти участники будут автоматически приглашаться на все будущие встречи по мере их создания." + template: "Эти участники будут автоматически приглашаться на все будущие совещания по мере их создания." attachments: - template: "Эти прикрепленные файлы будут включены во все последующие встречи этой серии." - text: "Прикрепленные файлы доступны всем участникам встречи. Вы также можете перенести их в примечания к пунктам повестки дня." + template: "Эти прикрепленные файлы будут включены во все последующие совещания этой серии." + text: "Прикрепленные файлы доступны всем участникам совещания. Вы также можете перенести их в примечания к пунктам повестки дня." copy: title: "Копировать встречу %{title}" attachments: "Копировать вложения" @@ -195,41 +196,39 @@ ru: placeholder_title: "Новый раздел" empty_text: "Перенесите элементы сюда или создайте новые" recurring_meeting: - interval: - instructions: > - Введите количество дней или недель между каждым событием. occurrence: - infoline: "Эта встреча является частью повторяющейся серии встреч." - error_no_next: "Следующее событие для этой встречи не состоится." - first_already_exists: "Первое событие этой серии встреч уже произошло." + infoline: "Это совещание является частью повторяющейся серии совещаний." + error_no_next: "Следующее событие для этого совещания не состоится." + first_already_exists: "Первое событие этой серии совещаний уже произошло." first_created: > - Первая встреча была успешно создана из шаблона. Все последующие встречи будут создаваться автоматически в момент предыдущей. + Первое совещание было успешно создано из шаблона. Все последующие совещания будут создаваться автоматически в момент предыдущего. template: button_finalize: "Завершить шаблон" - blank_title: "Ваш шаблон серии встреч пуст" + blank_title: "Ваш шаблон серии совещаний пуст" description: > - Этот шаблон будет использоваться каждый раз, когда будут создаваться новые встречи в серии. Вы можете добавить в этот шаблон пункты повестки дня, участников и вложения. + Этот шаблон будет использоваться каждый раз, когда будут создаваться новые совещания в серии. Вы можете добавить в этот шаблон пункты повестки дня, участников и вложения. blankslate_finalize: > - По завершении подготовки шаблона нажмите кнопку '%{button_title}', чтобы завершить установку и запланировать первую встречу этой серии. + По завершении подготовки шаблона нажмите кнопку '%{button_title}', чтобы завершить установку и запланировать первое совещание этой серии. label_view_template: "Посмотреть шаблон" label_edit_template: "Изменить шаблон" banner_html: > - В настоящее время вы редактируете шаблон серии встреч: %{link}. Каждая новая встреча в этой серии будет использовать этот шаблон. Изменения не повлияют на прошлые или уже созданные встречи. + В настоящее время вы редактируете шаблон серии совещаний: %{link}. Каждое новое совещание в этой серии будет использовать этот шаблон. Изменения не повлияют на прошлые или уже созданные совещания. frequency: every_weekday: "Каждый %{day_of_the_week}" daily: "Ежедневно" working_days: "Каждый рабочий день" weekly: "Еженедельно" end_after: - specific_date: "Конкретная дата" - iterations: "Количество событий" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Начало" in_words: - daily_interval: "Каждый %{interval} день" + daily_interval: "Every %{interval} days" working_days: "Каждый рабочий день" working_days_interval: "Каждый %{interval} рабочий день" - weekly: "Еженедельно в %{weekday}" - weekly_interval: "Каждую %{interval} неделю в %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} в %{time}, заканчивается %{end_date}" notice_successful_notification: "Уведомление успешно отправленно" notice_timezone_missing: Не установлен часовой пояс и применена %{zone}. Чтобы выбрать часовой пояс, пожалуйста, нажмите сюда. @@ -283,7 +282,7 @@ ru: text_deleted_agenda_item: 'Удаленный пункт повестки' label_initial_meeting_details: "Встреча" label_meeting_details: "Детали совещания" - label_meeting_series_details: "Подробности серии встреч" + label_meeting_series_details: "Подробности серии совещаний" label_meeting_details_edit: "Изменить сведения о встрече" label_meeting_state: "Статус встречи" label_meeting_state_open: "Открыть" diff --git a/modules/meeting/config/locales/crowdin/rw.yml b/modules/meeting/config/locales/crowdin/rw.yml index 941eaecfcabf..2373f6b25725 100644 --- a/modules/meeting/config/locales/crowdin/rw.yml +++ b/modules/meeting/config/locales/crowdin/rw.yml @@ -53,7 +53,8 @@ rw: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ rw: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ rw: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/si.yml b/modules/meeting/config/locales/crowdin/si.yml index 05f146d7e583..22432b3860e2 100644 --- a/modules/meeting/config/locales/crowdin/si.yml +++ b/modules/meeting/config/locales/crowdin/si.yml @@ -53,7 +53,8 @@ si: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ si: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ si: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/sk.yml b/modules/meeting/config/locales/crowdin/sk.yml index ebf36e6f79bd..65f8afcf5a3e 100644 --- a/modules/meeting/config/locales/crowdin/sk.yml +++ b/modules/meeting/config/locales/crowdin/sk.yml @@ -55,7 +55,8 @@ sk: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -195,9 +196,6 @@ sk: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -221,15 +219,16 @@ sk: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notifikácia úspešne odoslaná" notice_timezone_missing: Časové pásmo nebolo špecificky nastavené, použilo sa teda %{zone}. Ak chcete vybrať iné časové pásmo, kliknite prosím tu. diff --git a/modules/meeting/config/locales/crowdin/sl.yml b/modules/meeting/config/locales/crowdin/sl.yml index bf7cff25e70d..2699dbd8b457 100644 --- a/modules/meeting/config/locales/crowdin/sl.yml +++ b/modules/meeting/config/locales/crowdin/sl.yml @@ -55,7 +55,8 @@ sl: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -195,9 +196,6 @@ sl: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -221,15 +219,16 @@ sl: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Obvestila uspešno poslana" notice_timezone_missing: Časovni pas ni določen, %{zone} je izbran avtomatsko. Za določitev časovnega pasu kliknite tukaj. diff --git a/modules/meeting/config/locales/crowdin/sr.yml b/modules/meeting/config/locales/crowdin/sr.yml index f0f107990b26..a681b5f82f6d 100644 --- a/modules/meeting/config/locales/crowdin/sr.yml +++ b/modules/meeting/config/locales/crowdin/sr.yml @@ -54,7 +54,8 @@ sr: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -194,9 +195,6 @@ sr: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -220,15 +218,16 @@ sr: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/sv.yml b/modules/meeting/config/locales/crowdin/sv.yml index f9f60f167498..be3e87dfaefd 100644 --- a/modules/meeting/config/locales/crowdin/sv.yml +++ b/modules/meeting/config/locales/crowdin/sv.yml @@ -53,7 +53,8 @@ sv: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ sv: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ sv: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Underrättelse skickades" notice_timezone_missing: Ingen tidszon angiven och %{zone} antas. För att välja din tidszon, vänligen klicka här. diff --git a/modules/meeting/config/locales/crowdin/th.yml b/modules/meeting/config/locales/crowdin/th.yml index f227d7449f76..171ccd23f816 100644 --- a/modules/meeting/config/locales/crowdin/th.yml +++ b/modules/meeting/config/locales/crowdin/th.yml @@ -52,7 +52,8 @@ th: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -192,9 +193,6 @@ th: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -218,15 +216,16 @@ th: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/tr.yml b/modules/meeting/config/locales/crowdin/tr.yml index d5845c744d5d..b8adf2f5c3b3 100644 --- a/modules/meeting/config/locales/crowdin/tr.yml +++ b/modules/meeting/config/locales/crowdin/tr.yml @@ -53,7 +53,8 @@ tr: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ tr: placeholder_title: "New section" empty_text: "Maddeleri buraya sürükleyin ya da yeni bir tane oluşturun" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ tr: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Bildirim başarıyla gönderildi" notice_timezone_missing: Saat dilimi ayarlanmadı ve %{zone} kabul edildi. Saat dilimini seçmek için lütfen buraya tıklayın. diff --git a/modules/meeting/config/locales/crowdin/uk.yml b/modules/meeting/config/locales/crowdin/uk.yml index cd4551ad5d38..acac6088fc32 100644 --- a/modules/meeting/config/locales/crowdin/uk.yml +++ b/modules/meeting/config/locales/crowdin/uk.yml @@ -55,7 +55,8 @@ uk: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -195,9 +196,6 @@ uk: placeholder_title: "Новий розділ" empty_text: "Перетягніть елементи сюди або створіть новий" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -221,15 +219,16 @@ uk: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Повідомлення успішно надіслано" notice_timezone_missing: Часовий пояс не встановлено і %{zone} передбачається. Щоб вибрати часовий пояс, натисніть тут. diff --git a/modules/meeting/config/locales/crowdin/uz.yml b/modules/meeting/config/locales/crowdin/uz.yml index 111c46322df8..9c94a0e4e176 100644 --- a/modules/meeting/config/locales/crowdin/uz.yml +++ b/modules/meeting/config/locales/crowdin/uz.yml @@ -53,7 +53,8 @@ uz: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -193,9 +194,6 @@ uz: placeholder_title: "New section" empty_text: "Drag items here or create a new one" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -219,15 +217,16 @@ uz: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. diff --git a/modules/meeting/config/locales/crowdin/vi.yml b/modules/meeting/config/locales/crowdin/vi.yml index 33c373d7f9c6..f7bd272fd642 100644 --- a/modules/meeting/config/locales/crowdin/vi.yml +++ b/modules/meeting/config/locales/crowdin/vi.yml @@ -52,7 +52,8 @@ vi: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -192,9 +193,6 @@ vi: placeholder_title: "Phần mới" empty_text: "Kéo các mục vào đây hoặc tạo một cái mới" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -218,15 +216,16 @@ vi: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" 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. diff --git a/modules/meeting/config/locales/crowdin/zh-CN.yml b/modules/meeting/config/locales/crowdin/zh-CN.yml index 42952d0f8fdc..145282a687b8 100644 --- a/modules/meeting/config/locales/crowdin/zh-CN.yml +++ b/modules/meeting/config/locales/crowdin/zh-CN.yml @@ -52,7 +52,8 @@ zh-CN: recurring_meeting: frequency: "频率" interval: "周期" - end_after: "结束于" + start_date: "Starts on" + end_after: "End series after" iterations: "事件" errors: messages: @@ -192,9 +193,6 @@ zh-CN: placeholder_title: "新建章节" empty_text: "拖动项目到此处或创建一个新项目" recurring_meeting: - interval: - instructions: > - 输入每次事件之间的天数或周数。 occurrence: infoline: "本次会议是定期会议系列的一部分。" error_no_next: "此会议没有下一个发生时间。" @@ -218,15 +216,16 @@ zh-CN: working_days: "每个工作日" weekly: "每周" end_after: - specific_date: "特定日期" - iterations: "一些事件" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "开始" in_words: - daily_interval: "每 %{interval} 天" + daily_interval: "Every %{interval} days" working_days: "每个工作日" working_days_interval: "每 %{interval} 个工作日" - weekly: "每周 %{weekday}" - weekly_interval: "每 %{interval} 周的星期 %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} 在 %{time},在 %{end_date} 结束" notice_successful_notification: "通知发送成功" notice_timezone_missing: 没有设定时区,预设时区为 %{zone}。要选择您的时区,请单击此处。 diff --git a/modules/meeting/config/locales/crowdin/zh-TW.yml b/modules/meeting/config/locales/crowdin/zh-TW.yml index f6d2cf5c2d36..88ac098649d0 100644 --- a/modules/meeting/config/locales/crowdin/zh-TW.yml +++ b/modules/meeting/config/locales/crowdin/zh-TW.yml @@ -52,7 +52,8 @@ zh-TW: recurring_meeting: frequency: "Frequency" interval: "Interval" - end_after: "End after" + start_date: "Starts on" + end_after: "End series after" iterations: "Occurrences" errors: messages: @@ -192,9 +193,6 @@ zh-TW: placeholder_title: "新增章節" empty_text: "將項目拖曳至此處或建立新項目" recurring_meeting: - interval: - instructions: > - Enter the number of days or weeks between each occurrence. occurrence: infoline: "This meeting is part of a recurring meeting series." error_no_next: "There is no next occurrence for this meeting." @@ -218,15 +216,16 @@ zh-TW: working_days: "Every working day" weekly: "Weekly" end_after: - specific_date: "A specific date" - iterations: "A number of occurrences" + specific_date: "a specific date" + iterations: "a number of occurrences" starts: "Starts" in_words: - daily_interval: "Every %{interval} day" + daily_interval: "Every %{interval} days" working_days: "Every working day" working_days_interval: "Every %{interval} working day" - weekly: "Weekly on %{weekday}" - weekly_interval: "Every %{interval} week on %{weekday}" + weekly: "Every week on %{weekday}" + weekly_interval: "Every %{interval} weeks on %{weekday}" + frequency: "%{base} at %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "通知傳送成功" notice_timezone_missing: 沒有設定時區,預設時區為 %{zone} 。請按這裡選擇您的時區。 diff --git a/modules/reporting/config/locales/crowdin/af.yml b/modules/reporting/config/locales/crowdin/af.yml index f617532533bc..57c062824a6c 100644 --- a/modules/reporting/config/locales/crowdin/af.yml +++ b/modules/reporting/config/locales/crowdin/af.yml @@ -86,6 +86,11 @@ af: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/ar.yml b/modules/reporting/config/locales/crowdin/ar.yml index 61c27bfd8a3c..6bc2fadeb24e 100644 --- a/modules/reporting/config/locales/crowdin/ar.yml +++ b/modules/reporting/config/locales/crowdin/ar.yml @@ -86,6 +86,11 @@ ar: validation_failure_date: "ليس تاريخًا صالحًا" validation_failure_integer: "ليس عددًا صحيحًا صالحًا" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/az.yml b/modules/reporting/config/locales/crowdin/az.yml index 4e5ffec447cd..8494a1d7445e 100644 --- a/modules/reporting/config/locales/crowdin/az.yml +++ b/modules/reporting/config/locales/crowdin/az.yml @@ -86,6 +86,11 @@ az: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/be.yml b/modules/reporting/config/locales/crowdin/be.yml index 8e2f2499f896..738a5431b765 100644 --- a/modules/reporting/config/locales/crowdin/be.yml +++ b/modules/reporting/config/locales/crowdin/be.yml @@ -86,6 +86,11 @@ be: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/bg.yml b/modules/reporting/config/locales/crowdin/bg.yml index 6078453933e1..2b6dbcff67d2 100644 --- a/modules/reporting/config/locales/crowdin/bg.yml +++ b/modules/reporting/config/locales/crowdin/bg.yml @@ -86,6 +86,11 @@ bg: validation_failure_date: "не е валидна дата" validation_failure_integer: "не е валидно цяло число" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Вашият износ на отчети за разходите XLS" reporting: diff --git a/modules/reporting/config/locales/crowdin/ca.yml b/modules/reporting/config/locales/crowdin/ca.yml index b916dcbeec3d..aef19f3a48d4 100644 --- a/modules/reporting/config/locales/crowdin/ca.yml +++ b/modules/reporting/config/locales/crowdin/ca.yml @@ -86,6 +86,11 @@ ca: validation_failure_date: "no és una data vàlida" validation_failure_integer: "no és un enter vàlid" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "La teva exportació de l'informe de costos XLS" reporting: diff --git a/modules/reporting/config/locales/crowdin/ckb-IR.yml b/modules/reporting/config/locales/crowdin/ckb-IR.yml index d35738b1e445..64b6bc7ffa5c 100644 --- a/modules/reporting/config/locales/crowdin/ckb-IR.yml +++ b/modules/reporting/config/locales/crowdin/ckb-IR.yml @@ -86,6 +86,11 @@ ckb-IR: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/cs.yml b/modules/reporting/config/locales/crowdin/cs.yml index 0324c1791dfb..3f93c723e73a 100644 --- a/modules/reporting/config/locales/crowdin/cs.yml +++ b/modules/reporting/config/locales/crowdin/cs.yml @@ -86,6 +86,11 @@ cs: validation_failure_date: "není platné datum" validation_failure_integer: "není platné číslo" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Váš export XLS zprávy o nákladech" reporting: diff --git a/modules/reporting/config/locales/crowdin/da.yml b/modules/reporting/config/locales/crowdin/da.yml index a3c882ab617d..41e76bce110e 100644 --- a/modules/reporting/config/locales/crowdin/da.yml +++ b/modules/reporting/config/locales/crowdin/da.yml @@ -86,6 +86,11 @@ da: validation_failure_date: "er en ugyldig dato" validation_failure_integer: "er et ugyldigt heltal" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/de.yml b/modules/reporting/config/locales/crowdin/de.yml index 6030bae93c88..90e9ace3cb0f 100644 --- a/modules/reporting/config/locales/crowdin/de.yml +++ b/modules/reporting/config/locales/crowdin/de.yml @@ -86,6 +86,11 @@ de: validation_failure_date: "ist kein gültiges Datum" validation_failure_integer: "ist keine ganze Zahl" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Kostenbericht als XLS-Export" reporting: diff --git a/modules/reporting/config/locales/crowdin/el.yml b/modules/reporting/config/locales/crowdin/el.yml index f9915dd7309f..7f3b0f679be9 100644 --- a/modules/reporting/config/locales/crowdin/el.yml +++ b/modules/reporting/config/locales/crowdin/el.yml @@ -86,6 +86,11 @@ el: validation_failure_date: "δεν είναι έγκυρη ημερομηνία" validation_failure_integer: "δεν είναι έγκυρος ακέραιος αριθμός" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/eo.yml b/modules/reporting/config/locales/crowdin/eo.yml index 9dcef2eba7c3..bce2b1795803 100644 --- a/modules/reporting/config/locales/crowdin/eo.yml +++ b/modules/reporting/config/locales/crowdin/eo.yml @@ -86,6 +86,11 @@ eo: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/es.yml b/modules/reporting/config/locales/crowdin/es.yml index 3f00d37bf8d0..267525b0eb41 100644 --- a/modules/reporting/config/locales/crowdin/es.yml +++ b/modules/reporting/config/locales/crowdin/es.yml @@ -86,6 +86,11 @@ es: validation_failure_date: "no es una fecha válida" validation_failure_integer: "no es un entero válido" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Su exportación de informes de costes XLS" reporting: diff --git a/modules/reporting/config/locales/crowdin/et.yml b/modules/reporting/config/locales/crowdin/et.yml index 4a183d25bf69..11fd40508e8d 100644 --- a/modules/reporting/config/locales/crowdin/et.yml +++ b/modules/reporting/config/locales/crowdin/et.yml @@ -86,6 +86,11 @@ et: validation_failure_date: "pole korrektne kuupäev" validation_failure_integer: "pole täisarv" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/eu.yml b/modules/reporting/config/locales/crowdin/eu.yml index 42288069c064..db594cb00694 100644 --- a/modules/reporting/config/locales/crowdin/eu.yml +++ b/modules/reporting/config/locales/crowdin/eu.yml @@ -86,6 +86,11 @@ eu: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/fa.yml b/modules/reporting/config/locales/crowdin/fa.yml index fa647885b55b..05b1ba74b22a 100644 --- a/modules/reporting/config/locales/crowdin/fa.yml +++ b/modules/reporting/config/locales/crowdin/fa.yml @@ -86,6 +86,11 @@ fa: validation_failure_date: "is not a valid date" validation_failure_integer: "عدد درست نیست" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/fi.yml b/modules/reporting/config/locales/crowdin/fi.yml index f830e2d37663..9a2748920c48 100644 --- a/modules/reporting/config/locales/crowdin/fi.yml +++ b/modules/reporting/config/locales/crowdin/fi.yml @@ -86,6 +86,11 @@ fi: validation_failure_date: "ei ole kelvollinen päivämäärä" validation_failure_integer: "ei ole kelvollinen kokonaisluku" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/fil.yml b/modules/reporting/config/locales/crowdin/fil.yml index bdb0afc98457..cf1237ed162b 100644 --- a/modules/reporting/config/locales/crowdin/fil.yml +++ b/modules/reporting/config/locales/crowdin/fil.yml @@ -86,6 +86,11 @@ fil: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/fr.yml b/modules/reporting/config/locales/crowdin/fr.yml index 056f59b49830..e003694e2fc5 100644 --- a/modules/reporting/config/locales/crowdin/fr.yml +++ b/modules/reporting/config/locales/crowdin/fr.yml @@ -86,6 +86,11 @@ fr: validation_failure_date: "n'est pas une date valide" validation_failure_integer: "n'est pas un nombre entier valide" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Exportation XLS de vos rapports de coûts" reporting: diff --git a/modules/reporting/config/locales/crowdin/he.yml b/modules/reporting/config/locales/crowdin/he.yml index 473775a2ca90..1b6c555c0731 100644 --- a/modules/reporting/config/locales/crowdin/he.yml +++ b/modules/reporting/config/locales/crowdin/he.yml @@ -86,6 +86,11 @@ he: validation_failure_date: "אינו תאריך בר תוקף" validation_failure_integer: "אינו מספר שלם חוקי" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/hi.yml b/modules/reporting/config/locales/crowdin/hi.yml index 71ab923ff234..b1d47b506e16 100644 --- a/modules/reporting/config/locales/crowdin/hi.yml +++ b/modules/reporting/config/locales/crowdin/hi.yml @@ -86,6 +86,11 @@ hi: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/hr.yml b/modules/reporting/config/locales/crowdin/hr.yml index 6c7b53f73e44..28a98ea6434b 100644 --- a/modules/reporting/config/locales/crowdin/hr.yml +++ b/modules/reporting/config/locales/crowdin/hr.yml @@ -86,6 +86,11 @@ hr: validation_failure_date: "nije valjan datum" validation_failure_integer: "nije valjan cijeli broj" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/hu.yml b/modules/reporting/config/locales/crowdin/hu.yml index f07d543052be..78d965eee2e0 100644 --- a/modules/reporting/config/locales/crowdin/hu.yml +++ b/modules/reporting/config/locales/crowdin/hu.yml @@ -86,6 +86,11 @@ hu: validation_failure_date: "nem érvényes dátum" validation_failure_integer: "nem érvényes egész szám" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Költségjelentés készítése XLS formában" reporting: diff --git a/modules/reporting/config/locales/crowdin/id.yml b/modules/reporting/config/locales/crowdin/id.yml index b9d31e7e6ec4..87ee230dbd6b 100644 --- a/modules/reporting/config/locales/crowdin/id.yml +++ b/modules/reporting/config/locales/crowdin/id.yml @@ -86,6 +86,11 @@ id: validation_failure_date: "validasi tanggal gagal" validation_failure_integer: "validasi bilangan bulat gagal" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Ekspor XLS Laporan Biaya Anda" reporting: diff --git a/modules/reporting/config/locales/crowdin/it.yml b/modules/reporting/config/locales/crowdin/it.yml index d68fba3b8275..1effcdbdcca4 100644 --- a/modules/reporting/config/locales/crowdin/it.yml +++ b/modules/reporting/config/locales/crowdin/it.yml @@ -86,6 +86,11 @@ it: validation_failure_date: "non è una data valida" validation_failure_integer: "non è un numero intero valido" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Esportazione XLS dei report sui costi" reporting: diff --git a/modules/reporting/config/locales/crowdin/ja.yml b/modules/reporting/config/locales/crowdin/ja.yml index d73d1a3f1d9e..f4e5a172fbfb 100644 --- a/modules/reporting/config/locales/crowdin/ja.yml +++ b/modules/reporting/config/locales/crowdin/ja.yml @@ -86,6 +86,11 @@ ja: validation_failure_date: "は有効な日付ではありません。" validation_failure_integer: "は有効な整数ではありません。" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "あなたのコストレポートXLSのエクスポート" reporting: diff --git a/modules/reporting/config/locales/crowdin/ka.yml b/modules/reporting/config/locales/crowdin/ka.yml index 93685fdcb025..17f4b561e06e 100644 --- a/modules/reporting/config/locales/crowdin/ka.yml +++ b/modules/reporting/config/locales/crowdin/ka.yml @@ -86,6 +86,11 @@ ka: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/kk.yml b/modules/reporting/config/locales/crowdin/kk.yml index 8bf1fb6095da..0879b51229e1 100644 --- a/modules/reporting/config/locales/crowdin/kk.yml +++ b/modules/reporting/config/locales/crowdin/kk.yml @@ -86,6 +86,11 @@ kk: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/ko.yml b/modules/reporting/config/locales/crowdin/ko.yml index ab4a55fcc858..41ea6afd4bc8 100644 --- a/modules/reporting/config/locales/crowdin/ko.yml +++ b/modules/reporting/config/locales/crowdin/ko.yml @@ -86,6 +86,11 @@ ko: validation_failure_date: "은(는) 유효한 날짜가 아닙니다." validation_failure_integer: "은(는) 유효한 정수가 아닙니다." export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "비용 리포트 XML로 내보내기" reporting: diff --git a/modules/reporting/config/locales/crowdin/lt.yml b/modules/reporting/config/locales/crowdin/lt.yml index 77c767edddeb..4463ae0a5c5f 100644 --- a/modules/reporting/config/locales/crowdin/lt.yml +++ b/modules/reporting/config/locales/crowdin/lt.yml @@ -86,6 +86,11 @@ lt: validation_failure_date: "nėra tinkama data" validation_failure_integer: "nėra tinkamas sveikas skaičius" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Jūsų kainos ataskaitų XLS eksportas" reporting: diff --git a/modules/reporting/config/locales/crowdin/lv.yml b/modules/reporting/config/locales/crowdin/lv.yml index 3d3b7742aad0..a3fd4fbbcd3b 100644 --- a/modules/reporting/config/locales/crowdin/lv.yml +++ b/modules/reporting/config/locales/crowdin/lv.yml @@ -86,6 +86,11 @@ lv: validation_failure_date: "nav derīgs datums" validation_failure_integer: "nav derīgs vesels skaitlis" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/mn.yml b/modules/reporting/config/locales/crowdin/mn.yml index a19f68253498..d6254bf6dff7 100644 --- a/modules/reporting/config/locales/crowdin/mn.yml +++ b/modules/reporting/config/locales/crowdin/mn.yml @@ -86,6 +86,11 @@ mn: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/ms.yml b/modules/reporting/config/locales/crowdin/ms.yml index 0d016ef01e5e..5f23570547a5 100644 --- a/modules/reporting/config/locales/crowdin/ms.yml +++ b/modules/reporting/config/locales/crowdin/ms.yml @@ -86,6 +86,11 @@ ms: validation_failure_date: "bukan tarikh yang sah" validation_failure_integer: "bukan integer yang sah" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Eksport Laporan Kos XLS anda" reporting: diff --git a/modules/reporting/config/locales/crowdin/ne.yml b/modules/reporting/config/locales/crowdin/ne.yml index e4653bd905e5..05f56d7be845 100644 --- a/modules/reporting/config/locales/crowdin/ne.yml +++ b/modules/reporting/config/locales/crowdin/ne.yml @@ -86,6 +86,11 @@ ne: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/nl.yml b/modules/reporting/config/locales/crowdin/nl.yml index 13c1214251bd..4886eb0a91c7 100644 --- a/modules/reporting/config/locales/crowdin/nl.yml +++ b/modules/reporting/config/locales/crowdin/nl.yml @@ -86,6 +86,11 @@ nl: validation_failure_date: "is geen geldige datum" validation_failure_integer: "is geen geldig geheel getal" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Jouw kostenrapporten XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/no.yml b/modules/reporting/config/locales/crowdin/no.yml index c2e8bf679c9e..385d44f3b806 100644 --- a/modules/reporting/config/locales/crowdin/no.yml +++ b/modules/reporting/config/locales/crowdin/no.yml @@ -86,6 +86,11 @@ validation_failure_date: "er ikke en gyldig dato" validation_failure_integer: "er ikke et gyldig heltall" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Din XLS-eksport av kostnadsrapporter" reporting: diff --git a/modules/reporting/config/locales/crowdin/pl.yml b/modules/reporting/config/locales/crowdin/pl.yml index 33ea7fac3472..2ed80df4401f 100644 --- a/modules/reporting/config/locales/crowdin/pl.yml +++ b/modules/reporting/config/locales/crowdin/pl.yml @@ -86,6 +86,11 @@ pl: validation_failure_date: "nie jest poprawną datą" validation_failure_integer: "nie jest prawidłową liczbą całkowitą" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Twój eksport raportów kosztów w formacie XLS" reporting: diff --git a/modules/reporting/config/locales/crowdin/pt-BR.yml b/modules/reporting/config/locales/crowdin/pt-BR.yml index 6d1af56ae022..133681a4225a 100644 --- a/modules/reporting/config/locales/crowdin/pt-BR.yml +++ b/modules/reporting/config/locales/crowdin/pt-BR.yml @@ -86,6 +86,11 @@ pt-BR: validation_failure_date: "não é uma data válida" validation_failure_integer: "não é um valor inteiro válido" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Exportação XLS dos seus relatórios de custos" reporting: diff --git a/modules/reporting/config/locales/crowdin/pt-PT.yml b/modules/reporting/config/locales/crowdin/pt-PT.yml index eb8aa480d16f..4e65251fce00 100644 --- a/modules/reporting/config/locales/crowdin/pt-PT.yml +++ b/modules/reporting/config/locales/crowdin/pt-PT.yml @@ -86,6 +86,11 @@ pt-PT: validation_failure_date: "não é uma data válida" validation_failure_integer: "não é um número inteiro válido" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "A sua exportação dos Relatórios de Custo XLS" reporting: diff --git a/modules/reporting/config/locales/crowdin/ro.yml b/modules/reporting/config/locales/crowdin/ro.yml index 5f31498f5544..cb21c3270e08 100644 --- a/modules/reporting/config/locales/crowdin/ro.yml +++ b/modules/reporting/config/locales/crowdin/ro.yml @@ -86,6 +86,11 @@ ro: validation_failure_date: "nu e o dată validă" validation_failure_integer: "nu e un întreg valid" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Exportul dumneavoastră de rapoarte de costuri XLS" reporting: diff --git a/modules/reporting/config/locales/crowdin/ru.yml b/modules/reporting/config/locales/crowdin/ru.yml index cf25ab9cc973..c57322c68684 100644 --- a/modules/reporting/config/locales/crowdin/ru.yml +++ b/modules/reporting/config/locales/crowdin/ru.yml @@ -86,6 +86,11 @@ ru: validation_failure_date: "не является допустимой датой" validation_failure_integer: "не является допустимым целым числом" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Экспорт ваших отчетов о затратах в XLS" reporting: diff --git a/modules/reporting/config/locales/crowdin/rw.yml b/modules/reporting/config/locales/crowdin/rw.yml index 6a276a232a8a..19c783f56867 100644 --- a/modules/reporting/config/locales/crowdin/rw.yml +++ b/modules/reporting/config/locales/crowdin/rw.yml @@ -86,6 +86,11 @@ rw: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/si.yml b/modules/reporting/config/locales/crowdin/si.yml index 95217d9ed61e..09b324f68034 100644 --- a/modules/reporting/config/locales/crowdin/si.yml +++ b/modules/reporting/config/locales/crowdin/si.yml @@ -86,6 +86,11 @@ si: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/sk.yml b/modules/reporting/config/locales/crowdin/sk.yml index 61797830140e..826a97504012 100644 --- a/modules/reporting/config/locales/crowdin/sk.yml +++ b/modules/reporting/config/locales/crowdin/sk.yml @@ -86,6 +86,11 @@ sk: validation_failure_date: "nie je platný dátum" validation_failure_integer: "nie je platné celé číslo" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Váš XLS export správy o nákladoch" reporting: diff --git a/modules/reporting/config/locales/crowdin/sl.yml b/modules/reporting/config/locales/crowdin/sl.yml index da32b0289575..8743ad06ceb5 100644 --- a/modules/reporting/config/locales/crowdin/sl.yml +++ b/modules/reporting/config/locales/crowdin/sl.yml @@ -86,6 +86,11 @@ sl: validation_failure_date: "ni veljaven datum" validation_failure_integer: "ni veljavno število" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/sr.yml b/modules/reporting/config/locales/crowdin/sr.yml index 7d67c2b20d9c..54409bbea091 100644 --- a/modules/reporting/config/locales/crowdin/sr.yml +++ b/modules/reporting/config/locales/crowdin/sr.yml @@ -86,6 +86,11 @@ sr: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/sv.yml b/modules/reporting/config/locales/crowdin/sv.yml index 13138c8c653c..8a989f5df991 100644 --- a/modules/reporting/config/locales/crowdin/sv.yml +++ b/modules/reporting/config/locales/crowdin/sv.yml @@ -86,6 +86,11 @@ sv: validation_failure_date: "inte är ett giltigt datum" validation_failure_integer: "är inte ett giltigt heltal" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/th.yml b/modules/reporting/config/locales/crowdin/th.yml index c145befd0d23..9e86a22d4db0 100644 --- a/modules/reporting/config/locales/crowdin/th.yml +++ b/modules/reporting/config/locales/crowdin/th.yml @@ -86,6 +86,11 @@ th: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/tr.yml b/modules/reporting/config/locales/crowdin/tr.yml index 27927363d31f..08170e99acb4 100644 --- a/modules/reporting/config/locales/crowdin/tr.yml +++ b/modules/reporting/config/locales/crowdin/tr.yml @@ -86,6 +86,11 @@ tr: validation_failure_date: "geçerli bir tarih değil" validation_failure_integer: "geçerli bir tamsayı değil" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Maliyet Raporlarınızın XLS çıktısı" reporting: diff --git a/modules/reporting/config/locales/crowdin/uk.yml b/modules/reporting/config/locales/crowdin/uk.yml index 1216f353b5b3..06b770cc8e67 100644 --- a/modules/reporting/config/locales/crowdin/uk.yml +++ b/modules/reporting/config/locales/crowdin/uk.yml @@ -86,6 +86,11 @@ uk: validation_failure_date: "є недійсною датою" validation_failure_integer: "не є дійсним цілим числом" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Експорт звітів про витрати у форматі XLS" reporting: diff --git a/modules/reporting/config/locales/crowdin/uz.yml b/modules/reporting/config/locales/crowdin/uz.yml index e64740d92200..32a28ee62f74 100644 --- a/modules/reporting/config/locales/crowdin/uz.yml +++ b/modules/reporting/config/locales/crowdin/uz.yml @@ -86,6 +86,11 @@ uz: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Your Cost Reports XLS export" reporting: diff --git a/modules/reporting/config/locales/crowdin/vi.yml b/modules/reporting/config/locales/crowdin/vi.yml index 7a9b5ff2a4ba..b561f31aac02 100644 --- a/modules/reporting/config/locales/crowdin/vi.yml +++ b/modules/reporting/config/locales/crowdin/vi.yml @@ -86,6 +86,11 @@ vi: validation_failure_date: "không phải là một ngày hợp lệ" validation_failure_integer: "không phải là một số nguyên hợp lệ" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "Xuất báo cáo chi phí của bạn sang XLS" reporting: diff --git a/modules/reporting/config/locales/crowdin/zh-CN.yml b/modules/reporting/config/locales/crowdin/zh-CN.yml index 65a1822a5020..63dbdf79739e 100644 --- a/modules/reporting/config/locales/crowdin/zh-CN.yml +++ b/modules/reporting/config/locales/crowdin/zh-CN.yml @@ -86,6 +86,11 @@ zh-CN: validation_failure_date: "不是有效的日期" validation_failure_integer: "不是有效的整数" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "您的成本报告 XLS 导出" reporting: diff --git a/modules/reporting/config/locales/crowdin/zh-TW.yml b/modules/reporting/config/locales/crowdin/zh-TW.yml index 840da7555707..52774811022b 100644 --- a/modules/reporting/config/locales/crowdin/zh-TW.yml +++ b/modules/reporting/config/locales/crowdin/zh-TW.yml @@ -86,6 +86,11 @@ zh-TW: validation_failure_date: "不是一個有效日期" validation_failure_integer: "不是一個有效的整數" export: + timesheet: + title: "Your PDF timesheet export" + button: "Export PDF timesheet" + timesheet: "Timesheet" + time: "Time" cost_reports: title: "您的成本報表(以XLS匯出)" reporting: From e9ea1921a9fd03153732db0ab6bb69c7a7396096 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Thu, 12 Dec 2024 03:22:50 +0000 Subject: [PATCH 095/121] update locales from crowdin [ci skip] --- config/locales/crowdin/ru.yml | 2 +- modules/auth_saml/config/locales/crowdin/ms.yml | 8 ++++---- modules/meeting/config/locales/crowdin/ru.yml | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index 6351a4761cf9..92a132318554 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -1067,7 +1067,7 @@ ru: blank: "является обязательным. Пожалуйста, выберите имя." not_unique: "уже используется. Пожалуйста, выберите другое имя." meeting: - error_conflict: "Невозможно сохранить, потому что встреча была обновлена кем-то другим за это время. Пожалуйста, перезагрузите страницу." + error_conflict: "Невозможно сохранить, потому что совещание было обновлено кем-то другим за это время. Пожалуйста, перезагрузите страницу." notifications: at_least_one_channel: "Нужно указать хотя бы один канал для отправки уведомлений." attributes: diff --git a/modules/auth_saml/config/locales/crowdin/ms.yml b/modules/auth_saml/config/locales/crowdin/ms.yml index 52114feed568..9ea882adba52 100644 --- a/modules/auth_saml/config/locales/crowdin/ms.yml +++ b/modules/auth_saml/config/locales/crowdin/ms.yml @@ -2,10 +2,10 @@ ms: activemodel: attributes: saml/provider: - display_name: Name - identifier: Identifier - secret: Secret - scope: Scope + display_name: Nama + identifier: Pengenalan + secret: Sulit + scope: Skop assertion_consumer_service_url: ACS (Assertion consumer service) URL limit_self_registration: Limit self registration sp_entity_id: Service entity ID diff --git a/modules/meeting/config/locales/crowdin/ru.yml b/modules/meeting/config/locales/crowdin/ru.yml index dc0358a432fa..fc62432c9be8 100644 --- a/modules/meeting/config/locales/crowdin/ru.yml +++ b/modules/meeting/config/locales/crowdin/ru.yml @@ -24,7 +24,7 @@ ru: plugin_openproject_meeting: name: "Встреча OpenProject" description: >- - Этот модуль добавляет функции для поддержки встреч проектов в OpenProject. Для участия в работе совещания могут быть запланированы приглашенные из того же проекта. Повестка дня может быть создана и отправлена приглашенным лицам. После встречи участники могут быть выбраны и минуты могут быть созданы на основе повестки дня. Наконец, минуты могут быть отправлены всем участникам и приглашенным. + Этот модуль добавляет поддержку совещаний в проектах. Совещания могут быть запланированы, выбрав приглашенных из того же проекта. Повестка дня может быть создана и отправлена приглашенным лицам. После совещания можно выбрать участников и создать протокол на основе повестки дня. Протокол может быть отправлен всем участникам и приглашенным. activerecord: attributes: meeting: @@ -90,7 +90,7 @@ ru: label_meeting: "Совещание" label_meeting_plural: "Совещания" label_meeting_new: "Новое совещание" - label_meeting_new_dynamic: "Новая динамичная встреча" + label_meeting_new_dynamic: "Новое активное совещание" label_meeting_create: "Создать совещание" label_meeting_copy: "Копировать совещание" label_meeting_edit: "Измененить совещание" @@ -121,7 +121,7 @@ ru: label_start_date: "Дата начала" meeting: attachments: - text: "Прикрепленные файлы доступны всем участникам встречи. Вы также можете перенести их в примечания к пунктам повестки дня." + text: "Прикрепленные файлы доступны всем участникам совещания. Вы также можете перенести их в примечания к пунктам повестки дня." copy: title: "Копировать встречу %{title}" attachments: "Копировать вложения" From f4712b5f52a9bd1567f52c0dc7e894a5f91ca351 Mon Sep 17 00:00:00 2001 From: Maya Berdygylyjova Date: Thu, 12 Dec 2024 08:04:37 +0100 Subject: [PATCH 096/121] Improve documenation on wp relations (#17441) Update README.md --- .../work-packages/work-package-relations-hierarchies/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user-guide/work-packages/work-package-relations-hierarchies/README.md b/docs/user-guide/work-packages/work-package-relations-hierarchies/README.md index 48078e350058..3997c732208e 100644 --- a/docs/user-guide/work-packages/work-package-relations-hierarchies/README.md +++ b/docs/user-guide/work-packages/work-package-relations-hierarchies/README.md @@ -93,7 +93,7 @@ Work packages can be structured hierarchically, e.g. in order to break down a la There are **three ways to add or create a child work package**: -1. Adding or creating a child in the *Relations* tab in a work package's details view +1. Adding a child in the *Relations* tab in a work package's details view 2. Right-clicking on a work package in the work package table and select "Create new child" 3. Right-clicking on a work package in the work package table and select "Indent hierarchy" to add it as the child of the work package above it. From 0ce5623e7a7ab4e63b62d0abbf9ad86fd65264d2 Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Thu, 12 Dec 2024 11:17:53 +0300 Subject: [PATCH 097/121] [#59989] Truncate the reminder note https://community.openproject.org/work_packages/59989 --- .../in-app-notification-reminder-alert.component.sass | 2 -- 1 file changed, 2 deletions(-) diff --git a/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.sass b/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.sass index 62a064806cfc..5ef433444872 100644 --- a/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.sass +++ b/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.sass @@ -9,8 +9,6 @@ &--note @include text-shortener - display: flex - white-space: pre-wrap line-height: 1rem > * From 7a5e1cfc727cdbf74d0cbfca10acdf81ddedf770 Mon Sep 17 00:00:00 2001 From: Kabiru Mwenja Date: Thu, 12 Dec 2024 12:11:06 +0300 Subject: [PATCH 098/121] [#59992] Remove muted style from reminder note so it stands out separate from relative time https://community.openproject.org/work_packages/59992 --- .../in-app-notification-reminder-alert.component.sass | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.sass b/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.sass index 5ef433444872..02f042d770c8 100644 --- a/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.sass +++ b/frontend/src/app/features/in-app-notifications/entry/reminder-alert/in-app-notification-reminder-alert.component.sass @@ -10,6 +10,7 @@ &--note @include text-shortener line-height: 1rem + color: var(--fgColor-default) > * flex-shrink: 0 From 032b292937658e1ad6031b11b831d07a11f0c5c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 12 Dec 2024 11:27:06 +0100 Subject: [PATCH 099/121] Add note on security.txt --- docs/security-and-privacy/statement-on-security/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/security-and-privacy/statement-on-security/README.md b/docs/security-and-privacy/statement-on-security/README.md index 1ec599e5d2ad..3265d43ef7ff 100644 --- a/docs/security-and-privacy/statement-on-security/README.md +++ b/docs/security-and-privacy/statement-on-security/README.md @@ -14,6 +14,13 @@ Automated tests and manual code reviews ensure that these contributions are safe For more information on security and data privacy for OpenProject, please visit: [www.openproject.org/security-and-privacy](https://www.openproject.org/security-and-privacy/). +**security.txt** + +OpenProject uses the `security.txt` standard for defining security policies. +You can find our `security.txt` here: https://www.openproject.org/security.txt + +Please see https://securitytxt.org/ for more information. + ## Security announcements mailing list If you want to receive immediate security notifications via email as we publish them, please sign up to our security mailing list: https://www.openproject.org/security-and-privacy/#mailing-list. From 55702f8020ba713eac01c789e0a573c41035da48 Mon Sep 17 00:00:00 2001 From: Maya Berdygylyjova Date: Thu, 12 Dec 2024 11:42:54 +0100 Subject: [PATCH 100/121] improve docs on relations (#17442) * improve docs on relations * fix link --- .../give-back-to-community/README.md | 11 +++++++---- docs/release-notes/15-1-0/README.md | 5 +++++ .../open_project_admin_related_wp_table.png | Bin 0 -> 201796 bytes .../README.md | 12 ++++++++++-- .../open_project_admin_related_wp_table.png | Bin 0 -> 201796 bytes ...enproject_user_guide_wp_table_add_child.png | Bin 0 -> 329661 bytes 6 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 docs/release-notes/15-1-0/open_project_admin_related_wp_table.png create mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/open_project_admin_related_wp_table.png create mode 100644 docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_table_add_child.png diff --git a/docs/contributions-guide/give-back-to-community/README.md b/docs/contributions-guide/give-back-to-community/README.md index 34ba45efe638..a2fd2768fc89 100644 --- a/docs/contributions-guide/give-back-to-community/README.md +++ b/docs/contributions-guide/give-back-to-community/README.md @@ -15,7 +15,7 @@ OpenProject thrives on the strength and engagement of its Community. Beyond codi > [!IMPORTANT] > By submitting your content, we assume that you grant us permission to publish it on our platforms. If you would like to review the content before it is published, please let us know explicitly, and we will be happy to accommodate your request. -Your unique experience with OpenProject can inspire others and provide valuable feedback to our team. Here are some ideas for sharing your story: +Your unique experience with OpenProject can inspire others and provide valuable feedback to our team. Here are some ideas for sharing your story, preferably in English (or German): - **Written Texts** Create a brief article (0.5–2 pages) that covers the following topics: @@ -31,7 +31,7 @@ Your unique experience with OpenProject can inspire others and provide valuable - **Blog Posts** Write a detailed blog post about your OpenProject journey. You can either: - - Submit your blog post for publication on the OpenProject website. [Contact us](https://www.openproject.org/contact/) for guidelines. + - Submit your blog post for publication on the OpenProject website. - Publish it on your own channels (website, blog, or LinkedIn) and link back to OpenProject. - **Video Contributions** @@ -40,11 +40,14 @@ Your unique experience with OpenProject can inspire others and provide valuable - **Testimonials and Quotes** Share a short testimonial or quote about your experience with OpenProject. If possible, **include a professional photo** of yourself or your team for publication. +[Contact us](https://www.openproject.org/contact/) for guidelines. + ## Support us online Help OpenProject reach more users by engaging with our content and sharing it with your network. -- **Social Media Posts** +- **Social media posts** + - Share your experience with OpenProject on your social channels, including a link to our website. - You can also re-share content from the [OpenProject blog](https://www.openproject.org/blog/) or our official social media accounts. @@ -57,7 +60,7 @@ Help OpenProject reach more users by engaging with our content and sharing it wi [Follow us on Twitter/X](https://twitter.com/openproject) [Follow us on Bluesky](https://bsky.app/profile/openproject.bsky.social) -- **Add a Backlink to Your Website** +- **Add a backlink to your website** Include a link to OpenProject’s website on your blog, portfolio, or company website to help more people discover our tool. - **Write a Review** Share your thoughts about OpenProject on one of our review platforms. [Leave a review ](https://www.openproject.org/reviews/). diff --git a/docs/release-notes/15-1-0/README.md b/docs/release-notes/15-1-0/README.md index 3191dcc2e6df..b09238ecef6f 100644 --- a/docs/release-notes/15-1-0/README.md +++ b/docs/release-notes/15-1-0/README.md @@ -36,6 +36,11 @@ Additionally, you can now add a description to add further information about the ![Screenshot showing the new Relations tab in a work package](openproject-15-1-relations.png) +> [!TIP] +> As a workaround you can [include a table of related work packages to work package forms (Enterprise add-on)](../../system-admin-guide/manage-work-packages/work-package-types/#add-table-of-related-work-packages-to-a-work-package-form-enterprise-add-on). Under this table you can directly create new children work packages or link existing ones. + +![A table of related work packages in OpenProject](open_project_admin_related_wp_table.png) + [Read all about work package relations and hierarchies in our user guide](../../user-guide/work-packages/work-package-relations-hierarchies/). ### Redesign of the Meetings index page diff --git a/docs/release-notes/15-1-0/open_project_admin_related_wp_table.png b/docs/release-notes/15-1-0/open_project_admin_related_wp_table.png new file mode 100644 index 0000000000000000000000000000000000000000..ec45fbf9539fedc48efbba2f54422a4569f245e2 GIT binary patch literal 201796 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

    R%?h5 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

    jieDgcRDKGmqrJJ;T%r`1rg=qHnGno?*xan-U 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±zDY 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

    R%?h5 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

    jieDgcRDKGmqrJJ;T%r`1rg=qHnGno?*xan-U z7;zD|uh-2;LmhW8p`^~UWrjb7C%I1!*~n;BejD|-)7i3f67Q$}SusB=hwI6DjhFMl zqqv8Mq&Cmgw{`YzIm$OArIz2SZLehhR^@qA+5D$yhi9U4=gU{La2cz1qq8RT`8p-R zw*Qe+nq8YZc+mKjO=-0WE2a-t41`=XuA5JV&N(9k29NiQBt(GC6&f&|O^#2*j5}4P zs^4W>g&jrXrEmD@LK(+pTi0f7y&f*KaQo6yRLR_zb!wEqbbO{N;5`n~m8}9Hl!Ju*GAY{%_RVl!>UF(4@zquv!M26g2 zX=1Ark?74W=%&|j*^sUl^-C|z%-G3;Mle_Sn{U1V`AcXgfDIpajVDls!L+pwk%O|@ zfjdo>C(~+&B>mywO&J0v@sv(}jVa*3yx30B)u-;Q*G_Q-s97~XsuEtqpwJ`5aH2FY zBHL($AEBG!beLo;tDTO2%~5pg{|SjR|51z}*cOk`6oOaPPn|J>{lcy1;>OM@YMLFN zg*hjfe=q+XF>i6gemt=MIXF0up6Z zSQmpE%c|)0z%);1YbJqye%mC|$kb!vEPPx7v5?@BNjB4iLiRrhwz(h0j64C~@xJ9o zuh9S64qwS;dveXXk^C%2dI!H6Pkcxgh}6JEPr?y$T6f}7VwuUv|9wKY=fs3>hBT6GemiagX$Ni?p3zX# z3nVzOB>Sj;>LEC{${5!v9bN4I_Q+t_iG30*twyt$N%)&aZZU9;y9L)4s~lPK@$pY@ zmbT94mv@|u8amVS(3e*}e$c%My#ui;pkIgD|5{-f_mA>6^fa8`ekoT1WOdiM`~1gU zFyvlYrXbzSI&wnrZ$p7>3Q`B-iD@O4poN8ffqjaAoeuyi0>PTwmWYuNTY48XgZn2m z#VnIN^Yg6?t~$W}+q9couP$zZ(FL+zOMLrn+z|Shm17XF=W)5}3ozguackh1=C{r2 zxpN{3dluI3{BeTdBD9GdIXnCN9o$NTz0RXsry3%~gQuiZ0V`q*CSsuV4PFVvd9`F? z7h6EK>j}Z`SG2RQBWY==o8U%PHS~~U*bk1&su-=l^7&R&he=|p^Hr&yjLly=eo|vd4s3!xm>(AD29*yQ<`R1`b(re8{%}p+ zK8NIp4RmTD#9E@-N0s^w75GF?UKTO3jMMRuE(CgNY!XW8BGCoujasHyb!)m`6nzsxh=g{j24 z<-;F-X<0aZv7%zxEz&Ee_oYZ1*{hA!K2?`DZe0HO{)bBv-Cn;gZ@RqmoS(t}P*Ry< zf9;=MOigYbKe5W?%GiGOjo=e4F-3+LRrp@5Fu-j5ux20Ovb{wmj0L;VkS{-YrCRY0 zg5Abu5KCT%-UaC{!49uf){&FN;u)5U-=z9?01i)~EK@&Q40hSJ`*nZGv3M3e>Dh!<<>K?h^*LfK>?~7E1EZ556C2MdDeb@ z;eJF_p^B+l=7X^a&j2I}{JIx*6hbaI@!R`0nE{auO}yIEW~sZ)#`c)h1$un;NtQjG zt&4`z;zPUBKGXfVsmB{uZpV7>A47)Joz=iQ9W~DTeH%p1F~*v&B|{(2jf;T6Rt)F9 z#j`?h@<*?`!$)U>#z);ahY}om?!y%_vLdy-T;&)}aui-^d*CP6ewc{(2ap1Fm}3%O zb9j(Vp;uf8iEn^YfsnOTDb{Fr?fCR-$}f6B3g$GX1in{oYRu$g-s$n%=?Pfel<15& zAqQoW={m}K*lI@adUBmnGf*>a^<5{BtS>+z_})Dzi!*tZn)Fejh2vyR`jTB^d((V6wU zfx1&m_>$v{p)&wNG!=D+q|?bcYntqsLLH7$VzuHn*mu}jAHT2znQr6^dFQ~aoARD` zDL&rZH_U9a!k-JXo>yD!RgD??p4 zyc6l?xA(udJPWIU$D1fI49Ft{M5xJ)KGVx7dr5SijRAAat&@_iylI_3m0pm`EeEWd zxPI$VD<|Uxrk>a=bJ@4l0cNgjcYj$#Hy=rzZ?2>h5;iUDp>e=}%gFW*i>9}uP};Ie zmFf6kK$?kOsgQ)lQL?9Z15SU!1D$*DeG`HtCr}%e^vY8!qD0H~rRzi?beOJni2X+s z#zt_1Bg2d||8{R}wV!5xip!FMaEO3_@G^z`Oy^5tR2G->BzM5t$#dL2ITY^di~lDg z>GfvyzY(%f0PRf64C%+VE|5Dyzzoiy?1S#Ff5n}*zzW6l0M0Jv%<&iBzgys#N|KjH z4IPU~cC*#k+QtZy2YH00Q{u+J{hQiwIKVftDTxu;7!ePb&tn|2(z`hBH6jNom3m9s ze0(TCaDd{U%Zg*r1#^$^CToLFaP!b(OjvF3LEo{b9__th8sx8$9*O zob5~B6#ei%gwhin#mzUgzNiDXJ6Lq31O>cv6(7)(mAGVxd9m~<(dQtAtTX1;H0R1j zE#G`uG7nuAsWo!!qVDZh0(d*E0E~{#}P!@!u*~0 zu(NXZ2wic-?wIdJmFdKrk}4%b_lPOU$L#4Y8yZsN?xWlix%oAzH~4CYw##<#fl$^zQqo^)2B@U?I6#0Kl%(DT+$WhYBnfb2W(qywfJ!XT~Y{XH}4 zK;nSx$g>$G;I{Ba2(^8nfVx?zqqc_Y`D$Xkz$rY;20kG)#J6cD&w-%n-Pp1)0hV=^0{ebGS%A+VQ{K%=_R9VK%7<*(TwEHJ zxCQMWD)Hp4E1KH8~bvyyc;9GoQUV10>M|A_VsnpSKdk0ATH&z=)H|L^dhu^Lv zH6xGmcPxZK0UX_|G2V8G98iXTr;k0!`4iLIuFQ|*BZ?2k+lo&}s%=4zzL%nrf!Wv|~{(jxn1w=d{P7`xkE$IsQv;?Lt%*&9nsXXW_HgOY(`&J5(lj~pw$ zhvF=s7oYO~F;)zP?j!118%>LIu<4H_+=)fgt2z7I39?Yf6D9aP;PRLZSF&2nSn;pM5JPdm!~N`s#$ zfxb10@=F8x2?P4xDyYEfp6aUB^aUqjGVY7>d%UQ(N*&9_!BvV!X>o2W0^+F?p(h@u zPU=Hr1~cmOVwCskzX5NmoBWVWAyZrTWtlmjKOf%rh+2x674D}VTW_POk1rv*H}t%r z7q1F?vQ=Qago%DaX>gCy?&LJk2<@fv3*K`hNT~S5>BxUI9=v4y$EB>bSz;j zzeAA45yLVK{eB4qh=^G8^Iqx0?L<3ElrZyKm>{IUp?+@E0r5-Df@+DLwt-!Mf}^lesv zA5%@2t*cc`^d{$yRgc&Jg_2cFdDR_6Rb(yDN$xCk#%v!s;?(K_dR6W7zs#{(kylwzStt|+e=Hs$tZss^ z?FZ+*DQ@E50sBTosZ!+TH0;=yF+61AtuG4Z6gCez_DPbE|J_&om9dMPhMD@yfJLug z_|vwKC8lm~EqXdA8W_mUV_|!cYbmbsRNn}wwNiL(jj*SfF*nOvR18h~Ii@c^d797J zJ(0ermX_HDD;U$KKDXP_vRN7n+kHa@4r;#8hS}5A;0i@o|F9UB}*U zciP$(q(mDW=x({Zgp3pwm%grRdXdscJ=R>+YD0eXXg6Uoyp6A1GJ*t=tH`}${q*LT ze*5(SiD3*p(Fo~bv{EUN%a+&Y#8Z3A>fF%zD>a!BHqEoaIWTFS}H_7ekrTt7L{rQ>tTIxJiH{R3TC2SR<9}{%+_}eECEd4rT6IZ zkotZ3w5*Dxz`hoF*-$!eEU#1B<5l&Z7*wozUig-fbkzRr&5u34Po;igc{&a2<*o@k z8<=_8pof~53@%JY*<#}?$;2Bc8pGNPJv<+)C@9b}8&4mMj$>wWckZF7a5=56t{-R4`_*T&noFKZ&$Nn#BKePl}mKlS~KoW|f=67&P~ zNkE2;VDNJbbNfT@p3;-`9ccB8xAPbAgv6A~CKXhC<&PpYoeENkk}rc}Zi)lm!vUZ4 zxcNs9YZJ*n594st@g7B3YuR?0XlS*a>`8VIqB6EmN!;SyKYUU4fpRYK@vp^MS!R@` z!IF|thNuLu+ljr8ZwAA@!#?8|nun;#n}yTdgsAU*uyR4P(WNYuyx2@)pg|8GxW17phugoHyqu^G3TX-i@Ou&?kE|&(lEk>i0iJ_GnWxJWDl` zFZz7%`oFm$7of-ulGr6lzVVS`gMpu`R8mrqrQ$D_p*1}DW`Ei+Hf{5?VaSm z>cTmBE<==(y?tk?B7I(u*0Lc8p`DGQe~8HcRsY%E<8o4?m{qhPOz;_-#|tcSS(h~F zQR$U^#fyD77%VL_309Kl@W`#7e(+QC8011dnY-TwnDKXv>#kvOx!UlykDM8mv3#tw zk?oO<7_g`8@?*%&=Jn02PsY|bi@wzk{QRhdeb8Vc^WEP=G51w`TJclGfqBovHXu|} zeFGhPi+1|4%{E5J5O5GTL}p|so_q)xx9Evwp?S!>!R+av`_Dx5>H8W}E=_(v5MSB0 z8$D&MvUUBw--d$uEB4$Y)iS=(02iwwtEgvXvwL#VS+?%N&Dv@c8gQ+<)+u>)@!sDC z1XCPo7P*{%(xca=E%r7GLqUfT3G4&D$wb9v5=(UcTfBhCrx zHU9)ebw`=~#2p(w@4b*U0|`T@T8KT0i3O6H6gY~S*BtEqW1LYXvi~*a146{9S^;`* zR)I@fW-JBU(O!3E2|o~e)9^NaoligqB8o}-P0qZyHqK2Q&)D(|J~h`>Uy@Moew=Lg zhHR`*A1zLF7VQV4ID0R1pvC7qApLy6<-?r%`If{>b?Y!7O+FJY?R*W2i0a$-v>{rI z6ThG7ZK8ojn?J=C=#x+-!NO9c417oaLr%VN#)XdBebw@?;1hipp<9M1yN+W8u9>4K z>XV&?Mv{+zvs9E+C|fPLS>6j&xEKul_f5M+|NQ|Ct#?g?bkpLulv|B@8kaE}Tz~o( zmeNckodeHA)?{qjp37~iOQ&tQ{yzW5?(r-KO1&C3p0|+9^!^4L)aZXm0smj5i_yP{ z;0XaENu zkW$;+s1nhwfoexAy_UTAaF%Gta&F|%zWbroZ<2Kjj`VHfRO{fs6b-qMD58(lkIuO)P1Q^F2S#7&OuJ-|@eq69kGEr8Ny4*GVt^TbMyf@t zAMSybwO!XJ>Ji2cZ@|NvDZR%vPd=HKjfSEvYo~MbVlWl{H2Q!PxTgrslvmZJZf`2) zwikZ5u^J~fj{4+Ck7Gk9Y&y_mORlDpg^AS_-s%NxUIY9PH_A05>*wTB_sF-5m6>Cx zZ5)f9C3*=T1!bHlQLf3_)Nn?rYj0&>9#PxK+^$M(4U>l4-WTN(TL9IJ=36vMcyTPS zzV~-FlpRYyD&B&nf&Xemt8w381%<>7^&4>}Qp4pp@J6`|POl3F)Z&JH?dg$1aoN@ODmmB69xbTD z^RUT5Vc@|n9P_@`%3hshZ(wnS$VpC$-$)xi{{if8cb~f(GiEmssYt`>cC^t;#7E*a zE~ffL^HsqaPuBy=?BovSfR03tj$>WJ4~7SX60QjoD!?Xk{8iBej~eIXnkv7SU~xCU zbdK*}rqm5P#R=f>PLU$iHNk%+Y54r#RQj>zP}lw|*(cYt0c^JCV6C$$;Rh}}nnjV- zj45P|S!XoaD>G)oz0+osaLz1ETzlqp(MQWLH6EC|uA90uHzRl*A1@eO9BWcVEA-n+ z9)2L7CyuW3e4* zYWW#4sDsK)w4E7Nh&k9|>g}Kk*NINGlAHi2gK35R{X{4I8#Cu|)TT7OuNIfd3U$wkPep?`% z=7GdyWK)4hjZGumLc3tfO_5D5MaQ$DWCBIqVlMT2Di8D^9i^G!QZ=csKi(K7MYEp( z>v8JOZfjajwG1exKt=h2YEpPf)^3Ay^ z_MFVfC?<#Ktu>#j9?a`bs<3IqJF91lC23Ch^`C9=)aL)pEBxLt=gKyB%yzO6(AUwf zN_b#T6EE*zIc!|M@K(&bZ|*ctOEn_3HL)|f9Edf*T39&`(^p}Icq57-2iZ_d=`t}v z7No(G$>xlZFUTaXAm#Y>t_tMpTD7H0Y-F7vk3pm>vMD+q99fGvtt(Gh+zYC0s05=f zK8CxFGAW^g>|Zt1O+OriOA2^Wn`{-4Cee1}CY~>$DL~WsQ(sy+tvycvp_y{-*pa$b z)Q6*ZEMNYLpg=YHPU$S{c1wbp6wJ~wK^#(vG(PA=4CAEaA}{E@>S6|lTh0pi%F%Cq z`TA})$!mU=L3z?Bo}1^#>Wj?+tkI9oOX&vm{B%{ZXjJW4&a2vs0~evqpbqK5zr| zZgDi@AfXl}T-y9SCzgQSa=2k=G~mReLTm}ze1D;|QK4Zc3j(TJg|XY!ucj7g&#%Ed=Su*8zp{eptwRhorPE3d zlORajdn)#WR5OjecSw(<)-(Uu;UGD&SDuWlwe!HRs(~8$hvM{ z8XW|Jvqs~Q+~@k`-ffJV)!ON^2>2vFVadhFsQC&bt*MNglrIct{^?LC9^vS~0EcD8S@}Gb?p$JeuGAa_XBf zF`de-Jkh7Q%^!1V7A%VR<_M;yJKA69tZI_2)!ephmXtWhC)F60 z{H#=(#h71U+x~T+UU@zzA@bmjA_xY{5J%{e)3=d1#2@<9^?G>_4rqR&W}%yC9AqpV zONxJAylL#}m_w2j?~y;ykDSq)I@n3VWKA^c9GcYh6yy6`SUgkcx0cl}xm`Wg*4t=Z z<)OZ6r7%Y|1yl6)FJffUMz2gAV9)J6Z54o>kdVH}Pad|rceW;;K3?(qh5FeKkE&%R zD2R?MBCe_b1ew5Mt1gfDX{bH{ZcE2y7cOs9O3}Db!ckj`RPxG~W6*Axvt@zHo-A@1=46 zxwS=ut-I5NI^3P&`k~tTTpcSQMaB=AY~lX7`T6#NWbkLH@3KfKX}PT8Oz374QoFwd z(uB|mrdndI$T5%V9twGP)AAV_yPyhTwCN0^oL({aGmV{9_a#be&>H~bb1WD3&7KV~ zxrbp9gO&12pG!WnyLj1UKg4ZuC>#gT?ORoEvMx&Ul&Y}KGTAkM#NZ_3mRJ=92KGNR zDoXJ;kD#9J2}%pa@g_yWabBGS8MydiQhf%4>d2MG3b>wzhIJ+Vp3}O|!mp=B6Quex zr3D4G{TZo0Dd`f4L%dn29<{P2e8Mp<7a&>?6=7AJPDydMy)U-}<7;23k0Kh5iPQL! z(f4DB2sRb2im=uynEfFN3LHq)=RD=sI2836_y!3H;XqnL<5`{{ihD>{(Ng&spEdvGp+`n>X_;T(NeUPBh5oT*hh8k)d&*Ex7JG;*bR)3A6;Sf-Pk z;z_m>?VEft8i5`2_v3?c;^*heGJPfiY4)vq#`sF?js0cG&+@f(&~){i7HAFiDJ7E( zO$7A7DSfmHfoC132Ls#7+qQLzi|dlG*z$M`H&P$h=X8ygOen6x)UJSoY;7w+`Rw8f z?%Y5_vaXZf8sH1~Gld=|?3Xh4rwypWJUD$Oj-1`HF&)*^>xvYaO@6k%m_r|ZRK?g; z-N~TpV?>2<@4wdI;Hs%?$lXY~vg~&6;H&zkKzU2X*;|pI>k^gkF-5McRfgR8*Wdqo z;LWSwat!|ptH@nPb@BWEN&LXazy2NauR@sr|D%D#&j0sLh`8$`XpU@WLMD=|Z;H7I zw*2L(Jhi*62K1_bWZxa6+t&(IY3=hO@gUf=&b>r)Qbmh@aiJ zA($64dwt2(aX=**y>o6f5IQDt83Ixq%4*y?%k0ox7tq7Tcr0m)IzHLY36M0{6mwP+ zdB6`zo>R#dU9ycTDPfRLeU=F_?lgadI@-+#VXyPrY&MBNpcR@X4#AB*E*mE&&rvo) zMej`G$+e85Qdss#+>%7VgZzC7)YbHWs!*gCOJSrZ7d;Z)Oc?3e{LBu?=q@<4*}iL6a8bW$WcPh`5ri{js6rSyw1+1-34SA>D!8FsD*QVFmi^*xtVGoNcg^H;_w3{7q@z)Y zAN$CSu1=HnlX%okbSc4Xl_)Uo%|T8xyNNTr!`t(cVbS}TJCgUh0~gr?*+F%NY{soD z`fe+GoAu{5vJ0t@#eA|k!U5f?L;UBC^X;%F1r9Tv^)H5Vdg`-PELNa(9w+>fU|g|4 z2JH#z>9tem&7B$f50tsFgwR22p}CbBsxLuFMC`_`nn5`wRypCV?B)VFPqT-m_rI`r zDQ}bxcx(v1AA@Xsla8zw6q|G6v>JlxPvmI}(dMBDpuCRLR12+lIUY|xpM0S6P7Wh7 zB4Vd3ld;U~>;$3fj0L-hU1;b#&bPvhmyUluzO`65pgXIW=fV^VI9&*FzpTYh3uNF;<;*6X z+e^_I4LcQGflEcL#UFBneacd92ILBO2u=@JPQB4)3gW6Hg#HwPX<6~#u67df7PH>+ zuRaS#POtN9_@nJBzaKF1`+1wBLBEzbdnkm7HD?fO=wklue90Lk}Jr* zuW2vjy04cjsIH|bnnx@lDkB_7R!0W*4DOkRW#UDyeEC}kPp%oiH7_HxCu*Y?sdu65 zk$y7U5qI=%8d{fFtkRasPhgTq{87S8zi(8mE!8`}>6uG^k4hmER6FBGn4|mOiKL`c zSH`fJ@SS~7W!P4gV*7q*U-Y(09&xY1w}Y%Ympwv=us{^pMs*I`X};Zs9ZN|mFN1KM z({hN`?{G^KMZ~JEAnNZ-$oWfC>nZ<_ zgdGy7@CFuo1MZX5lKj!5$Vat&FoTS_rBgz@KFAUG*8tq1TbAaD4;~dLSL8rB)b2%b z;PLcE@V^J!ivQ~)JkoJNIdjBEY`;-mTXhMBSnDt!|?}d8Ru6Kv*bm|T( zn=Rk~psF%#sYey;$haIdn&vh{BPz{9>WT09^PSf{wFKuo_|Om4P;lAOc)phjt>@R` z5?-^>hY%7s?Hi0^iC~f4Z4)VyRDgF>AJ0`OLx$cBX{1#|n zJfv5Q5w06-#X%>Qiw4@{t>uhi8iRY$&4}VV6`OJtUepuh0!6u2waV36%7Cg^F}FWq z0Fngix*0r+D0Iu|2ks`}c9wQ9IgAk7nTV3M(xI#cU2CD>jL6!8Gw+ry$0YUDh)3<`16y#=b%8eBhNI=yIpHKqrCw=AgJY z<(GQ>_;Hi{+;H*5J9eh;1M5+seL=tqO{4v)O~fT6QXhKcIoegyXbxQmC<%z^)`0M0 z<7(p$4O@oGX~D7#G59U(P!?cMp8vNVnM5AOZFP9)V8t@=W0cFO2$B;&;t{iMd8!+9 zA|?G6s0PqP&%pbfnl_(i9emYB`z)0I=;}y9XkfX1PX~>6RzJ|^H36s|ti`pe^Axa- zOYa&wgQl>^^M$>4K4b$-BgL3Sa%GO6Vjjmz^4X&GVDyHO+9i7bX|}kMqRF*yvBade zH2kX5fi2r;HfELUPrbE}N;hQSgJ4%HkovawHU0-)VhI|~GZI;n*dGyK!HyP8SQ@Y2 zmcJ}culUx!;C{YL_{;HmJ31FUs4KvL($4|6I!0$UY7O905ezVt0SXm-)l@;wRKi3n z3d9KM>OM9cMZNTUg7JnIE>wE>mFO2SYngJcz)S}Xar;jBl0|x?u@%uL+#aK~w{QjmH*0Jju*q^4`2G=cuBOOszUWd;4PK~kIZ zu14-snIw~WM`HTxY&zaN;*~S#38{?=k8ZF0Wan?hrF+$H)te<*C=&Q9>BUI02^7#R zAK^mMkPlZ4FXBFgGz0pC{-mXekwb5|B{kvaOYg$zVNT^@wmGO%F>cfbpS{Kg$2YUQ zy~{=a@{Aw|mG=CGdp{SQ`}`kmfujaO62WNj&=!<8rFbMTM_df;q8XI+PjJ; zr)ALY-Xf^Ne;7+9qBCIlI*Hjme~j0ct)b5m51T(UMCylBHnPJHFUS8I5#{ukaUzcr zX=QsU9yP!mLojb;S0!SE)NNO|#;taqp$o4@X&ReOWch%Da03Y^`QLyaLK8->kQMy2 zZ;zn!vkA%~3VphI$RQlgpIV#3sT#xw#N6?h9#&AxOO8Tx9BvSQ@ZyH?P)Ec)M!kJ> z2#Lu=#_#>2$5vrMQaQx_u$Y}_y%=X+Iu+Cp@oaa&@!JI7?RLZt*G6H?TeRPQI{=Oo zjVeRg7j~PG^V{LQ<+{~#iiS3L{X9*E&Uv88EfFZ92z%bbMbt;b=v0Gpn3w|FRR zP2U(#N7syzsxhlUja9nM#ZR(Zg~NHoHsb}M>s~;Oe1sIgvro8mcxFSs1 zlW^T^z(i*Y2FP?OC#pM)wbpX}zoj+BzZd(rMYRpimK9+`r z%pjeCe&ZrOY)_lu@vo@qT8_tR%}230H|62GXtfVe6k;qrzJqoad3)bIxQ8D0H$1jctqu~3boC{r z42fHo*LVYFGR%f|Ub@vagtp&uT1ods(~&!mm?w`KqQ%se!}Z)V7BJo6^NJ4WE~5|U zZbgDk-?a%BeD8Ta`J^kBEGh@-@Y7Tmw5PY$P-UI@fy{x%(PnYbzi|v6(AIT_J zx|GP1TD;v&ahNf4L;zKCs%hCHDr-UF%HVZPI?XP72ZFy3Wvya<*3r71_DOFf2(5lw z7H`96iVXxTwX;gbjHZ@ia{vyJI$Y&5bvn1(`*E9bow9KUyl-WE_N)ZfgQ*5y+d-Z! zS6B^((!EGVl?v;3FH0eaqQ-gQSm1U!+ua zVWv~ZV$o~XLp)^oC4gOGaR544KFk&}_V`>|We5o?@Oa?QAzbdhHK9pG-644veeN|2HE-jhJ|ITho1YqT0qCv@sJdK2*r0?_$011 z)43XlkQvL(1atjxa^y_xGQkHR1?_=D zQb9ucSe`2|<<50k`H;9cio!SGrY+Gp!688gafh7}c?1Ibw8#AwrX}`cQSmaU6Rk%^ zW9kgjT&(B1spYMIqk3@~(hxj?BIaimJ|{Vd-+gX9+})2G9j2>_wJK*M=#+BV*-cP5 zq-!s(EK3Kxes#8=;F?&AJNDGOZF&5LQn0l?#1|@ zqX&7dl}qvX{q8|yHJZ2b$n?^hw_f3WR`{KgVg^YXF> zl0EHG5TNVqm*1r;>_g|D=nH&5@!q^EK>vSO^t_Uyjv>!&G5m7W$gQdF{Ne(cPrR4f z^Xf&Psjmk7pO3YhfqOkVcbO|9-K8sYm~J$0CeaACFtJM1_Sg(>H>s0EfUC|t@PyK%=Z zh^Y5UM)4p2kH=Pmy0nL)Cf->R`5=Tx?dDpQX9`;(RiHDSI@2j)0pIls5}^QhZEa2S>4!8v z>W_JfEWcN#ku+{Yl56MKM$fn>f|RG_kqhAiDcL6h?cd16eAtGB_I2DEqI38)jlWXu zQ(t!*dv)D$a`H;a{Ts>YpjMSLws4Ghi!-CyZ5P|RQw;rU0*Ah)u=-}(C%jj zPNio(cAe)EZ!T_Zk#uJueffk_^0cy%v184n4c>B?%9_RhL0|!WRm0kLSiTbtqA6d< ztACr$t*BEq!*YT{o+^SKQ+g2|n@e|K;Bi>+i5C$5w~65yyjRQrUs~s7UdDjqoF4^2 z(a>HUpBcX3kFQUv|)I}kW1RsQcY-6yUk z6m$?H?1!3GZ@6#iM~0Fa*7s2TefYNr4^7s8$pd!Y^iV{P>&32{51hgza(zkIM;|A*!~J2cL?4+*td>W#|Jj6*-(SrTA$GNyFAYvY zR0$d`8os&q=X`6*jaoDup7D4ya*RJ;hwPx7f$}n<@E2pG?7Mv>bATqhb@e+=?cd*hO~t24`u7B1j{(E--`|W6+HW=O zxX~4WoIi{D&yn~wy7_crCX#0T_LXtEM=7r)5e07A7K=xZ%^k?y*8$GFmqY!W(4%Tn z=Jf`LT&yKk>R-k)F9B$6GtfKfdOmFw_LAm5S7!|HQ7^CU$)Wc9kOBW<(n`@jTM=&a zUdj;;Jk%&D2e7HjNq-HS8kkhjiaOr;-tqbA8!*lHK7)59mqEnYE{Q0p-9+C)mpt_+ z*%(ju%gaBeMrh70AJws24uo7#+Q}4XG+KTX>)$Ojk^3B}LKSoz_DqgZIOtrWZl#x5 zS}`dB2m9Hm{6`Mw9gc$vk6+7-VKBu-ny`|?6}X>(2db#u``~NG-+|*wobIg;2?_We zG`2_hFCnve#HAps)eDN*7(z52nbL?L;$ii$3u|~Y5H=Z_E3Pi=FJVPk?%idA2l3=E ze>tg4bo0sq+)lT%MMXv-?_mEK*Z1_>_SvZeE1F)jj0xynIFBnriqk4|=FqlS6JqLD zhlM6s0St!I>0H9A%;s{*^|F2G?uCNg#gnZYwb$h@2r;G_;9AR((j! zBq(=&wFO%z-?L-Hk@*c+D)BMkY8u`Hj>vgE#Q)I;6gz4{ez3;bpd%$ww8wjLxa#oz zO8SJZRi-r#+oLC_A1-4hOR?2y3{pelaEW=i3dNJxS@_BHD?VzlVcI{ zC6X&#Y@R>j0%L7@y+1mm*8V~5p;LZM^^U@)9u+bVu$8AxyQ2ZSg10e+Y^4AP4M6rR~ zo^{hiQQc@!f}gl=B`v*rG`}0FU;6-4_nos#>10jhq}ysUMj~uUc6EoS8>mQNgAX*s z!X4jn_1_izC@$0AhE(6;`738}NrNXPIEei(%q^~aor-FHBzkJMOJ{=!vPy7rX{;w7 zDKG@nXUgX@wvGD|MA+i?_v6g{HvW|x&OYC-%StHs6b}kS=Au<<&EY0!kPPSznIOjh6&ETK{RBC6D}&%6G=lD#G|x-5xKu}} z-p~!N%2b$vE8-W{b*ImikMOq#jxW9L_`gIVpfm60H8oo<=pSpk4AOfOyqgN*>`oBPWTiKNq0XI=f)sGzjbWETIBWbVsxS39>J$Arss zov0TmS)VBDb7y?$D2`20|4FP0ba{U7XO4lytF!tGdnU^xs;?wZ z00iwk3%~(@-sME>%5fG-m#b)?HP-&tpS6jaY@nsQiPWUb_NpH#sGq~TXs#J4m($^G z*>Qn(;h4~W#-|=pS#mh`6RW?T^|3~4Nm$E3-D-dJ=!g467wW?%JK3Kchg!wP4Xp)@ z!dL{fO5|UnruJROvOaSrJ_q)epxYK7y*ie$1GP-F`oVXYd5|Z3en|x{dU$(xsYfH< zGk}LFg<|x{M=^UgCGs_#xJi(t4=H{of<$Q5aAZ@e&v_c6C|7hqPf{TCu z4mFSl>ODdbwmZFa!fCY%fh^QG(F-ZuCwuQj$;0#qD%^y1>+LCn1K`+FZn zx3Uj$5UXY;-&r2d2(hkk#GOk)fcP3S&&GHvIu4l}+&6mMX?EM$X};6KTJ2XKBDq|9 z9*DqdB4=2p_DY1+issKheo;hdw!FzXb;->ZvFD4Bug|Y*KCa0$LpJ4PhKHcx?IMxIa}v^ksH-$)~$!XD@XIOYT64Nw)nH>XH$Qy+-!IrdHAIh=pT?>n|0}6 zHQ$rb+Gq=Wh2K(#?N~W#8py+1$12j(S{+Wfn;Pw zuz>{Vw8qVRYSPsW9ux&h&EWMeCp9^ie(nT$o(F;uLkiVu6V~U2z0M_U$Ex!E4~#&` zWP9#k##2CAnH)Z4_^QrbA&dHGGrxS6GsmCM009+F`_DE9EWv&pcUV{*7pb$I#$Lqb z(JG+sS&rm(#W_{Nna__it+NwL!eT8sK_lWIxnNwaQUwof>=4NUkK{!4e%*>+5I6vZ zf^*fk51#V*K=3~E3g4ENMma60J&ywCF3E>k90aruu6sAyGn@{3rt{D>GdBp`+9 zUDyJVI9<;6@txj%xmtn|&LA2|J(qDfv|M++NgjY)w8?PDTR(R2I*v+2rt!=Cj_sva zJe0>^KsgvxqpQ&K3Z{&ry9o8LO?!C~^J zZhUp-)~2B0HheGAe-*)5moE*Oc9ZSz@~9{~cY@d}{J@HF%-$!8oP{x`+_kIrEKaBd zs@0#LK7rJ5=7|Xwo=U6Iz3aa z6g)^ia@_;sL8IJu-(?~hJt@6*iB?wQ=5VAvT^-hXJ3aV4ucc` z;|~qYB(wdo(D0acHm3(ebf<>zaHA1iLskjwDzf*$rZ3jw|Q z5V@Q+(YqSV6EpPN40`D7ywQ$)W11@Y()^f%HUJ3Qz4FT9^-c2eo|sF&D+Ko!6%dnM zfbJnw9Y>x4EBPBY?%ww!hEb&N12g#KTCfP29mp`V<^(7ArUz>oWmbVo+e!aa4aP}{ zzR)`P63Map%yfL|FP5^!dHXk-H;@t)!H)?mN>-LFi|#&yL#*m7XFMU;^U5V-UzIbV zPJZ{~B1}uiEK??{^F@f@dBjo_<3yAULk_PH67>@Yn`5f*C`AsXC0M);5C!sx4Tmx7 z4H6VNZyb^`nY1B640Tp;^3h6ba%c{%8Pl-^D$yepHhf6NwX2e2X8@7;gCy;lN zcoybYf~rnvj$FAk&pv&uH_(<7rDLQnJ5CBOmxge{n7$s(DkfZ?%Ho`9l24r4Fa7KE z`i+D-Y&RUautUY98xt<`;$HVnaKGYh#AD|;9KkTF?$fP2|BIB4 zLts%=>(gYL9$ByZkrb;dCFbIr;A896>#xD-W{wX950Vv4Yyh!7 zt~<-kMjNNt!wZ3ja)H^Ra_3$%K*vs{k?f-H09-sadg#OyRC|8$*D2XSyi^6N59K>z?zp7?ctp7~v z;w8N`%2v17!W2-n$;3h{+A1y@OV*O}s?~G5u)l7ko{-HnkXty@ESIbm*+)J-HkA7^ zq6Jnn&sJtOuODHKmC2n-MXONC@w0Vkr~wKdR}bjNycuaZE^^F zG>u^ovhr10RCF4|dkyDk<}x3DjLfj90nlquHx+FX1zIq_=kcJv*L^1-eh1eM7c_I^ zUw+jp1id?O8mV!(e?E=Hk752QAFqsTzRo1T zodjUC*H0R!JWy|Y2!^sWS$}=e{Nuqou>=u35|JZcr|~$FjZogDEEDjFggSiF3-!+8 za(Xr57Q;IhRcXB)sGtU5pAg+A5{j7;F-BU!KZD_6m`~peL$dm(Ab!>Kv9F~A)!sMO zb{xtC$At-4QvO;Cc=f@07)BWL`&-n2ZpD2DH59=Rx5@^e<8hAV3UX}2F38q!8qFD!R)TyX}TTAYZ|gEV2^T9 z?vLM*V~yLnX+}y}Vy4nCNSfL=SL|}~8hLck!{l_&s}C>eBQ_fCEgxyr?Hurqo@9=S zTgn${pygZP^B>YYgH2%zfV1Jk9{IJDO^dn7 z(bj^C6D${YH1VXx` z;eW_qE#DT&;kQUfB?~?`)~^g|9<+L|y|Gw$o?**nC7-hCv;1J=iT!w*OUzjk4G{hK z53urg7Q1sxQi@L$ES=`j$?P$t6dpl$Jh)Rb=WV)Qi=*9Bd;Ei=d;9Z4XboxL21haw z;EaYX(v^uXOX;aJRFkq&Xk1O0xkcN62`D)g@S*wd8(7_w^OKXMKP_yE0^c|oeQnI) z6MhS?xV3NI_5ybmH_orPFu{*rF!FTGghQT59n0(qWz}bywAVyWLK-rg9Lojy9qfpp zjgB*HCLoXB-%9P&J`PO4b$pqf##^2*;u}*k;ML)ibC{7HZhVc-6vue|{>`CQl&x_y zWMiV7_lcl?fyGk^Z|;tfZ^h0e$NNuzCY~3&J_-sxCX zxU+XA@s?SwAf!EroS#*mk0X=!k;i;$+JbLR@z$74 zKU+`Bg!@rXa4LCoDh>N7hLA-M(CupUCo|k*gReO#ayBZ$`GN=wjgsO<`tziZ?WW!M z09We{J;5eHN_b{TSX{=T<&9tw+}WC#KmO}0Euje}^i_q#k*`Xe{Zj(+wT6a*e9f+Snm%3rJ!>4k;<`q8 z+L5ZEd%p|O5)`y<1LRRHswX)_6iH^o^{NrA{;lcHc6GLE3?6E#%(5%YSDp!}KQ%*0+ zF{8M@e)clW@{Pgyx7TSt6-?TtRVm`a_2KR;I(2XHX@ko3bytQ>7@{*8)u@}w7dhQ;>8k>{{RrJl;e9%&vaBzRv1J3>OJ0Ssp;8Gry4 zb^|w(YS3yox`;=TPepY55^n1PYI?(ReLsDRXV|~01Py=%sHfaux&zN{ z1dDTS5(NTV3k}d?hc{1NAJ}+#*W5fU`s038gi_kL&tmJyYT;UA0m=XrV z?;T(ZLfU)xY%iR`O=wTzc!A=Vl)2qL0KHMq+rG&meDtD&+e{?0p|tn1IN+!x_WT2X>_U|(&a{%6!O4Ki6;_VI;hH`;*JN8m`g_|?7sbQQQ_eL zxQD83GqL1%h6E3uGE+W8QIaBN8+@4WLU6A^Xc`iE*tz08`8)fW^shw+tc$$V z%3yZ26a*mpw*BdViGkie5yO6>(WrDpUS}o6WNAQmnonYK94d8ZEn7y8;dRYwgv!pj z$g1oE-G6lNrEf)pkEEg+FE~p(xosBt$85=M>esoq+!o3;M~HPUbZ?BTe;GxR>d0HofMR_Hxp@GTAH`o|(( z=F$902XrLRNDE4HDS+eDn2D#8B}OJdHo}Yz!6OB#!{`R3C^Kc z(Ha_(>%$Tyjr#R(4B6`syC<)8{rls!1Bokv|L7kD7;^QvkT|LTFFYFGAjJ2OQ=@9Z zhrya{At8~->6^_Ju$aNwPHot6_MA-2k14YD!uK8>g1xW3mgFF{;Ct)pLf7Vqwm2g zSN323>kZGQpawYCGIUSg7ayecNor|dr^gsSAaOD+-&^*InEfeT?ICk|x+#vf+)o?GuEAjj*s@F5bI{vSh&;Vh} z=&NkA2Od|^R$#*VfDgMKpTyk1hVRNy_Rnmn@%{6f1d=!4|0iCP<@^ZR=nzElDa<5E zCOSrLs?M*#d6873CFd%Izz8>zP#kKATp%GZ5DH91i zmMK!|V1o6-lO;kM6}w+Qdn(oFvcx_REL%;wS8#pjd#C@pld7yz-%GYX6~|bq{^@5( z;eeC;vYl_$_2r9J|8+S?p}&jFpSRR1zd+1Zh% z0BUBk6t=xk5D!og1dHDPod-q6f9<9Of->ODrp657HoL>)pqLskPh#h(4hLYw=c4!k#B!&yo4@3f_8Tys1^ z;%Mj}N<(^77vw_kpA@K3T0djytWZi9aorA_4SlSs70ics&Zgg}KxNY9p=44iV+8ZL zvx{Z>NnOkDlp91cUBCVE(i3AH$*y)zxF^=9uce61>prN3ve;AcLG_H}*P%FtmZ+dI6hCGrNfN z#V@4@^X_bmPZfe^qV8F;M-uapigx(N48no^XV5hzGb~$>#};+$oJ4(@YCZO|`*sHg z%~Br#Za5odRVDraaAN7thB$``bFG_nNw2;O<*_$uO5flYjI_iZ*Qs0p8}%4^kcv8H zXgPh$`1nUj;eY5Q=ixo)1Wn49`)hH5YxrE|ftZIn$;o?{i}>L+b(?5vWpZ1#W>{ceEHwMb8h0HKuFJe7qc;i6)By<1RH*xe zZU8NAp_SUm?=V>jNC;Rl3bx@k-QiGewdGp%?w@M4NFDj$5j%gTC9p%{cYIn1YIH|| z83BhqRhM){LMRaN77{S{+MGhYvfl}koOVxLJ+&C__&K1|0$xqnskUuWxlhDqasVcW z!_mwza{`~#Evt3m5W7Jf=36BZt*iNxXF*jvA;W`yH-TPxmIDr*qqkN{}j^%_v26YBZT~$tO}qX%{iyv5pbG`vNik#5kbrIgpf? zU8YqHUy^UW_=Yzk%4XPZ2@5Ri zP^nD3U%jy=^r9m5hgFmBkkIix8{AJI&rM6X$^LFwILQ7E&*RU}+T!kxKvJ@O{XRd_ z>mbbb7arSO%Rh|7T$P+Sz9F6 zicp~8^Gi)Iy?RYJy4(gOk>Hs|v7LJs(+wpnG;g{o-p#chfUwE@fp+ll1@f~tm!*8f z`5FBap7pv|qS<3CXg{XA9NXMmCw|a z;yX}Oyy#6(ygUiOuGruOQwhm6wT1?n< zV_O<^`VPt7XvhSTBW~tjyfZ7S>b0KCIWxY!B^#5S#3Ha)R#!vLpt~9`D5+EJ3MtWn zgef+Byr}6o!6_9E$0Ud2;hVJ@#l_AOvHBlu?zI)GAh*Q!$I*GM=OsMafx+~FkaDb1 z%JaT{EHm{Z+I-o3cbJx=JY-d~bT&5gGVl*LEp=^M4`1%Au#(xTZy|x>ybll#rDfLf z3sHC+Q%yKwx#aoidr*wB+5fu195dOQ5BS`UrnN)}>gR})h4IaZ7@{-KZ6V8(#k zplSYB6|Do#J!eku5?jil(*?##+a2TJ;xvGc?N>M@Qn8O%+WHnV?Y5~d?5*M(!r^6{ z)9&yw%{Xwg;9@6%NtxinHc783FjIlxZ3!A)6;JzO#UaOqmx5i!ArR&-OSc_1X(hDq z9m8d++y42?n2H{7PiSRlYLRir6wC9sC%L5S4@F>yBHMoOk1)GS+IkMoLtm`Nj7aj9 zt(J59MT7@9)6$Oj?&&ug+H212e?)^?#&{pEgQ9G%^X#i{JRzg{M+4_zqqakZtyv!e zHLYOE+}r5wsoj?b+6CjLEfF*8ioN{Br z34t&LFO+8DOPM0cMRf);Aok^f02;@k`CQ2FJORJ5rov@U2Y>eigcZ|RF zh1-u$X5nd8WfM6HCjYo@rG& z8#{+m@8sXNRoo$>cBM*V#r9E>wEoT)J5W0cgxcE& zghwm6PN?x2ef_?CLprU2H}?3eM+N3)E{LKa-3HM!Mdm1ea+L4WYGM%aNpW-P6?6I# zPB5!3Y1KpzOvZT}j7kLm%(dl>=u>#W#4ET&XAaDDRk_o0a(N0$N`X1vua5QtQ6IG> zg4*F}W;RKHnV{ny(MfrTvDxVMjQj4!OZW3>HQTXz`;Tpu9U>UcByjJ47PQP`@-VCZ zC}@yxpbU;-^-eY7DHYFhO#E*_n<3OX=n;(F)VE7T{)oANfv%y(@cJSID3=q^BX+IG z;1Bnt5DIIGJ*cBaaT))VEW}x@JB?DKjaG@UR>B_S3FR(<&fUjv8!MSm zf@98`^JL>bE@)kxgSlTnjUo@dNFO+OUxAMpG;LH}I{_9|+QVnyf%<57i4ncFlNI7` z+~7N-(ipH9>|Iv;#3k;g?gLQ-ed?xB&ThH_@lM)aVZ#|M2Fq7={fb%bjmxN1;haNjaL^t+cO~jm#eV!X(VPJ$9OAFu z*OJqOyu&~hP#!6P&g!o;7?9J+l?xrN%1vzHy~1=caFC?59M=B@un&;6X> zZpM6QY1;D@^Hy&Bqf)j*Z=m0o6_u9Hp~TGJ>)yJuP}I z$IFtYk!(e}e9d#A?k^lsL@z!|sYci-<+eY=qZJ(C6D~RWCgS1W$lo}(2o-=%tL9JS z<*yEy>O-x;B<5pro>jO>mwL+AWmco__M8^Y^Eay4Y6dz1@zZ?m zm)N?wzOUmv)(Qj~8xd8l+IW|*uuMz1KW)b8=XA2{1e}tNU4ECCcokbiv3__wg}nu_ z!>5z1jgQe>2Ktnq}Kac|g{mv1z@Ej|vT5pp)|4k0156E0Ya!???s$|6hwTCyT?xiGr??qJFCTJm8b? z^JCXmzgZ{cUc8Qbq=A&LlO0TCSk?!&EgUHE6>DsT-dbc3;&dY#CZcM{xpEW+O1qJx zlwRILfDq7j`vYvN?n?*(jhk-`4YCsB_G7A;Qh6%<^|)E;0Y4*idf^#K5?K#bL!#v+ zz6F-PlByj~o{{}EW=;b>;sP{C)%%lOEIBT2|NN+OVx!;Ls$v z*Y6FEEQ!n7brJ1(i$N2Jya*%>8s>rreBleAl%vtqX>ZQFHBa1(tG3;ChtsaHz0f+x zq2`^fbi&|B6f-4+IVnXrVv%0UC>vZ8IfhtbuH_3_4=dlfTU3m&32u1EH3UNK`lrth zC|Cl~4Uh070*Jh;xIOwLG?Gnd$utBY4Km{Ij3#<#h&dVL1sYn}I0TmsxHG1!=g_m< zV^2q_jPbb$V?aY1lgv@pAH8mYv2Wv9lt`+iL&azNwZ3c76MLAAK^|s;ta#@ufo@%N zt$#Ba6fOhOe_%3^5Vv*47xUOG7?dy@Y<)fQJ$pO#zWrQwsrA5gV1+y}JhjD_%Z+L0 z^Oz%P_pPn4BE?M_Y$Zc1NXR3t`73K?^{@DTvb?HWIHZJRzeasv4!WgIn9y3Nk+J$J8KRZ`-pZnQX;uXSE6B&c0tq4DPZ*5m#qG z$=8M1w3^BAa8nd!$TP=0s9tE*bNeoSvr3Z0-(z|@`j%d3JS#?OPBuxZ0VWt1Cm1)2 zJz|gh5FM@d;zm+a(g(|lAu_|jSv8qQ1@}v{-|c);M=~llnacbJ&cO%bV&-@m>FtU= zcV_1&%XkW~Rkd0`a=6X;ybcPi7V`wJ{uB>2L+@}q{gS3%V86i0s2um=mg{A8&(TRq zY@Xn&W8w3ynW~s+Q4fu8pYX8rI(R)Oa`Mo4R678^h)M*%vqw- zlD7Lv)~Lam*76c4%%)t)4iM68ro)UG=JT*4veE*Plh1>3g+k)H!xd`iFHD+cJ6Dt7 zxyJ}l?lMFEC?=4OUt!9%4&ysXHU22Z5m}p-lQmg8w{y7v z)1yE3M|~6Pa3LZSod6mAWZ~D%QPz2}osSFpjXzx5Z1)V3u7A9{l?$gfGy_5sTRunT z$Ozk88kg=aj{=uYoChVsxxeWvcZNa3n-;Ie4)deRKu>ss?3&${y;@Ow^PR)`TM`(78if|-ogTYo#S5Q0E<8mHN97&e zte|)E*2Z0R{_1^0_tEh>%ub9m?W>>NQG|h>r>s-U8jv1q0_kx}Z-83!{Uj-`+9}2& zi3ZZjE(5StQ!=~5a-a#r^uew8iIPwKBxISf_g5KVrX}!AKd=3bZo`e^oOmM+ADgw(l}s?~>n6rse;n9)TrJv|N!oQ4=E}`c zi&_za_bMf}Q&(qu_4KoA5}5UYKW%9xC!ZiOMeeS$=5L?1NoXKGdmL(Je1UU{;c%lm zn7av1VXp85R#@a~%z{#UVJ<|aW5 zn_Vv)FtjpGb&9p-z`Bqm(Nh^Yhyug$X9Fc{Uo_De`m%<<7~3^rcJO0Zu7$jL$MrU6 zcjuaQ5CEm7Ue4i?R8ks53PURY0A=;NO} z^nsth+!t?M^dVJxj7)r1q(}Q2s6Ng@EgMQwqNSR=r;MufdAnDJb?pZ*>Q0WM4Q?*3 z#Y7<2A6Dt6x(nHvwRT&3tr2O)1%+$+w@f`#D$HY(QkM%lHeCtgV>@V3uxn6E0AZj$ z3gGBm)p@TKWc99kuKU;c<`mV9-Gb^&z6uyQE*dQsp;*XSV3+3Xjf4rt?A^(l#PB2m zDN^u&b=rOFetAkYcx4CLnw@#)lWn@M8(co(wnf_4WPNEv3h zR|*DAFJ0D8Lbu$t98YIa5iqwm55?&Q+#Kw&&~g?9T>2nU8!Blx0ble3)&MBUxZZP) zFE^78ge4-qgb-T4ye;MJOOldg|j3Sa3enbikIVOP(W^yiMq_+7SJ`!*jNH^u=tpriubNTJ8N4<)YDknq#uGW zy4N80lqo9@O$@ph<1ksTf@yggLAX4_=_78z&OUdVCbQAn|u{Hs~) z7#(13XrlLRjpZOmyfe*j9J=!Nz9~F3Vg&BJ2q{f<2YDFKJ{5$#?vRKI4|n0hl`32C zZ?l#3z0%)hrrm3YN?|fQ{sOoPy&_e`M57mu`j1f+J<4ymxNu27x>0|IKYV$kHNTuF zl_C#2Mo!8{{7Xe3Uc2!%3(cJFO#Kr5{HUzdhVQrS>E}oFx42RvRV~}1#DtxYRcs>Ha3=?Q>2_JD?^m&196%DtZo=)=W37hWhAv^X{ zog=cFw~OD85QrCMPOQwJ!EG&o=VhW`6^Xsc=0oQIEh2`60YR&2pHDD9ftPbrmkVf@ z9Ni#_`nNK266dzPhTPMm0>p=4UibxIF_2 z0yVjuf2WUV{_+9|srYIe*)!b^RJo3dpJ?{;YYG)-x?-%%8y>joyF z5PSiS3GOs~dV`wX?<2cX&O=R)g%_`bJUwa4ipel@E9k8R97bl3GW_Ey0$ZyBt~*`6 z(KUz4HK1TuV?HkMekg$uxhHPF-&Zv)ma>m zCUUQVfWLg!w=DywDrySPxcDMP+|A%xaAshKtHFI=%T#;0ri5%70E%S&fy}xWe;?Y$ zZQ|u^`g6yquyOnbCikGru}bOdTeAqjH1ni|-NJJ|?6ml{4pVWGi2Pec*Ey}CM%4(9 zszO7YdMSs&fq$7K51x=|s; zboqFkrktnNFE&Ss2Y(`8W4X9fHsX#+c&>Vqb~f>A+&q*t#{$e5y-Pv~mL#p+%2Z~D z?bBUd8lzn^vQIr%Mlx}S7bo_BU51Q~uZ`S&XRauakPWI0wL{0JshAcl1~uzr7A@RC zVVkt$H(VIh@n4H)x&h*5>=taH`jcx$nqQMeO`zbUcMeItn*mxHeVRqzA)V8Ry3FR9lxbTJ^bWS@=x%s%)5Q=HA>aM5G(MS)!GKHAgaXF374<{X}4)(kjpNiTzqufSjW z&Y(dp#b0DP+c6KfTQFXusD&`q;c+k$X){WgW!uQ*uOyS0M^K) zdpQ#0RRmU84(gjp)!Tb~z|9Qm8eV1|&g`VoORv9@(uXha>|`zX1Drn}JP)v0M?vAo zctbD-tV?J-sN3``{ea$hJ&?ed>j{0om_fmBQLC)C+?A$Nn+nJp1xV-|KX>LUH5^N6 zEh^Wa-?jsGW9IlJvh8asPQ*^#Q33UrD9`WIjjQGqTlvtNs~`kUd%GygLhqTf`?!T&&^z}4snw`~{Gu6~+{JvQ|>iC=&&vhM`DP;*h=79+0 z`;0D@G_wZTtygvi7KWbQQG>{l6gTCws|$>XIjS>CYgJG$<`9MQ~Tt;H<5RRYDf)=YQNT z*7PL7UR>3kM;K^_&ZQGa9!tK#{tCe5;u|((O`x(POOg77TiWPwVnKXc6X=WEeZ(?P z95REdpxC6(?htk&1bEToFVvqtF)a_Ds6N|M$n$yHbca%bKP8xPj*1FLl<4IVlW92~ zPabaRPtW|otjd;*Oh|SFDr4o30c1F-Z_8#m0s3N6o~FTb-1Jx=tLukYY6Gq0yC5&P zn|>`MUxVfjg=qTH$NgvDRKbFDpn|~{skaFJ6ZXVXO)a;p-RsZ}x^$+3)|B-ZDlBZo zUFT!6omF|d&97eg_B-%t>tH_?6iG}K!ktMnahp~JG_j1OnmS4HQBd%d2rU49e4Z{4 zf_0tzOU*#E;Jzb~B{@4pdqD6rC6EhJX3ja7ux?OEB>}%m9@T#eZbg)}o@=t_uCwlp zAN~&`&9GUsz-qQa)fe^xu-#MRsPVEem&PC_OJ2t8;DRVjm3wJ3w3sPWG0oCrz11{dw>P$}uOM{sVLBUG{r>}b}d0Uaib ziCk-UziI19G-@HL0D#a zg+=%xqvd;pTgbujHdn_jB%4=aq^u=j5Pi^yM%3+Ohi@yYqR(*{RyM@r<15baJgmM;3K~bdb8v zpOuV^`h$`!h4wh>Y_5pM*cPMK{U?E?;y$MzqR0|ciE$_T!Cd~LD5~3erz*ZwN~@&S zE0Ql>j{+SIM&_TMVxtKhRbe~i$T)z0je`ly$rn=QF@dY}Uk)DG`2W+v zqXru`1T6e?49ez|Q|9+FeXW9?^hn6!+?PK-&^Qnm<>g2W?7Y%2 z^4AXnng^XqY-c9d^#MIwO)@cqcU2KC>h#7&@&Y)N=QDU2Ii$R>yt^gBRt>0O1->A; z%AVnZ{#rYJ4?wa05VL~%_etn8of(gl#;e#FSDbV@0dOqJ@=Jz$FPTu{2Et5p@lPQ| zwr?HV_N2UNL#y(Fonu6I_t>o4nRYUn@)ZQcUr#o9I`6lOhMI#V1i*_L5VVIpJYA{z zYvrM}{C~3YNPd>_A^b2hOUlBv;l*BYI?C(Rn!p zW!|+q;g}TZ*G-q!2J-`Q>dq2D01`4+!XU0G_UktS5_E|#ts%~>*tlGd2@SjJ9HttI z9JFW^X7W;55#aP_BX1MFznf1MYx`Ns_YuxYYSZPMN)uoxvJewXZ}aX7VyKcpbb_1VXTt5GxzJv4*5E>CE@gWKcO{MxfB0bE8m<7K_!)q~ zdi8WPkt~PLy&m8!_>?C665jg6&ruX5%h;mb^}#xdoW8R6j}P9!pbO3L0C=!C%QR~a zYS6K@ds|JptiQOdyZw>=9YvsOX+rk`U<^f0@ww9b#%l&rB$$!WaO1XMTTh$_d}fVO zZA%*0x%9Ix(kSjf=bEXxeGlt z&xu% zRzC-7eU`nRW=t034A19`q?s+0QK&UDj6tYYg!DVEZA z4y8@Q^jS-pRG|=0Q~HBM*Sa8LKzqb!3Ki*Bj=xse>w0LB@gzy)ga&MX2A?PN;<>f) zaiq!^R=?qr3yIR{nk0dL76k16XlRMklR9aBPSEcEXCHRe+ObFKk;xH*$ zKo0^EK%Uk%X*}w8lI-o0sUm(_{fuF*C`%hr-^7WxhXT5%D242^OJr&}TO)R$I3^ac zx&1oJ1m?V>!>rITJ&YdHMTEe$S z5$AfUzGV3(gf~ea80&feK4b3Y)FMp_IWD(qB#ThA!(Q5P!Vi>d!duk4dt~!svqFo>_wwlB5&HB!1`dV-b1#k&BrpckW>LIL zBOn?84BmCx`4U-iyF>QR#us-jo#~rZ}^(vpf2k*TB{#1AE-`1Y0zX?))AT# z+ofBkzVEVMrQ@sxK# zAEw6cxH;dawNb)nz`ecI&q-k}y$XtWHcDE&)*YK$Kn*EFjkV6ZW$s+J{+j7P1hX zjgEhscFd~Cv|U=$ldkP1ITgS-JcIu(zv_Yk>F~F zf7<2rvwdO0i|4S!;*iKdzso@L?I0eQDUrrhusvH>X;^pCuAN+59Siim3R_hiZ~Oc( z|K)Fy(|;POS5BC-s1WS6(QjDuf+nRpX!6y#<978fBKt)M@HV3{5;)Gi$p#akZ`dT9 zOAkH}F|ZvX5s#a*`g8Z+k^qD3Pl_3?+W1hcwNOj@s5)`KWm#ps+dNc8W*!Vv+fu`p*6ZH2 zO-pnJSNg34>9Me4r7VeB?zHf^OPudJcjld2Sl)Q8t;&gE<{4p*fbqP?vtFXi!nuBQ#xl>2w@b3nwz}lax2=4AAJ$nRp->e`}N5>hE&NnU7%o62|qd;Y25+C$p>Bb#+QXVD<>CJF~am z9#6h4eI4nhPOF}vh`WT!AfCv;a&j{Ud=-cX?CXrjfy7{&kk<1;r!6~{o|L`cu=+(; zcgh(Ka6xv6lGefbB4YF0hdrA|96uo<;@C5{fR^fBhZ^-GaiiZA_Q6aSF-fdvEY#s?iteq*R%MQGHsj8dPN4tG4cD1hgU!Al~7)!z0PQ7fiji~9C z>LkNmG4zV8@mEUYSk(}k6JG;*Qgwp(Ab>Ik%OH8rMYxf3|7f)ML)0*)vF0A*R_sCJ~S>FKY-s_W}W>lJAeo=M%J))jgaoe)CPCuPqLeFQ&gY4|> z(!^UM-{0~Hlm+=yuuo)AZUxsK8+#q=ZXQq}+qom*n%Ga`L4Q|?4w^~)F7p8`o5V@5 zxzuO$ar4_0S)*5pcq^gj^Fvm`cmP6tHcfV=Fr$-aqz1>|3@7oR5jzqFqtF~k&J50F zSUtmIrmuIF*1$(VqUWFd6(ZglIa|M+dfgY#BR1hVvRl8L#HKBvb!D5Pnz}GW9tcgh=E+^zAE+WlK_ubQL7y82Ln}eIstG>`ZKgYW#vIVlft}dJ?%V*6s9F&X^^|5k`s@_*@3Rcq* z`J?oc#QuN>7ojNG>e(Fh5KMoow7*hAb*K^sHF7%N&8i(1d1n{&Y~$|Y5eEtYGum(_8q2lvZ1gNF_MWdVaWimQ02s61U7M1u2 zpH4|JXoyI94IeI48bu7k;=CYBK|U#WT}HDN;hCvUiBpok=Ra}}ln-WU{er!zY%LcB zRE|LlclLm#P$?~r?M2-lmA+$X*EXC@eaCeI#;-CqcYB2^uUtD?hTYrUgF*|sk*DJ+ zlB=#hfb`@a)aCBAt|wP7q_wmJyAQTjl{YU=Rn-`U#&cry8Zv|Uuc8Q|y^7r~t!^U3 z8)z#-l9-+-2$X@m62|Y+2S1u{&TIo;e*EaYroN;GL`pga7(D7w(J;G3K)mTW!gNy< zsrAq+eWCGYp>Ac=&uSpGa0?gdSM%+k?-*;P3$@+*l0l-N#Zp5UErvk_FOIYeZ5w2f6pny5Akf#+lecy*&;V%t$HqB3siGTw zhMHD`iDcEXHnjxm8A-N4y8GF@ol80MsbZGHl*IGe1H30XHX%gAl>EXE144{Gt0g~L zg;ROv{O5^kv-Ac;CK1XKMS&+$J`z0*UMyg~4gav;{a+bt@}K8z0|Uh{=&-bkT_sxUCI?`$WdXZLL^b?o5~e zd7ELIC4jZYz|=;=r6^f9wTI^fBuV>$Rk&S=5G2q1=JQ=%g!aE)r0+6B#K(1mt!UjY zGu~hXB%S^Dw+$-1(@&|&*mMDUuwLxp_Os(r5EcVuVW00713G{0bSV6Q2Xk}kX4n0d zFO6Cl!Xnd2b;k$&cRK;Zdq)2dQpyMX(;1}q4`$I{?{C|^p7O4Fs%RhIh2I|>yiXEwEzD5|9|Pb3;6$)3qlkE zG7tXJBMHyw{#3cK3{?j-_!6GURroHc1DVeqi)!^CI`eOU)ySV**|mZgCLdBje;;X* zx40ZIMi@`40#FqT^!BF7YjY!($6oy$Fk%o}aQm~EtnB5|mcOit&WQLu#wD4PB)7F0 zeu_2FDq20_Zn!<6D@B(C?NKXoj3GA=vJ1)xiaGF z-1Us;_IOiB`nloxU~<&eLR~x)t(eDt^l@TE?{A=4?N1ik%f88fQIlRjzcW>1D(M|c z3#`#)2_#%Ee{P{`%&A}1Jarfch#&dF zPf>x!QDEHUZu~9xTm30ULFv|2tg;T3m~RFVuE);wE@RAjrelNp*0fo;-9(Yk&+{qe zFpJ?2EmC)DjZI$5_$Q-QfjbhT>J50`;332wd$YK`_}bGRI~iMkVCz|SQ?`B(7ZOu4 zMN zOR=hx-nv-F1{}9((alrG5{QFN!?a^}TE*trop14ly8{c*pGvrg{{R4oDJv7e_vRu# z1Jar1ysUro4^EvTi;r!FMxo*1&rSCxN@lnROy4`rlxr)0VP*4km?Ymv-p`{$Q`2h6 zBCis#9WE%=DL@!b;$$VU>sQGmNLg6pOaG*5g!vQI7p>$4a;^vq+RW-SUkQG?>miy} zj}pcF(h(&FRgnBGsb{#SG$s$h#6=k)shT0;wUp@ zI+sxv%H=sWS#I8Ems)k}KCHnaJR*uspZSw*DNUbMr2S$|VUJfCHet_uE>ET^6Xaf8 zteoA21yK|!>6Xe6gH#m5NepoetwaH9$vd=YR466h4=--7lBMVHysQz{9uJux=rI;sc| z`n8ZW5Zj<}wO~5aH_x?DrT@Kgj5TU@`G2{J;~>h6QK=X-`laz?;;rx8aIp%&WYYSYp zf*=W8v*^-hH8wIX^ZW*l0KxgM+dvpm3q7u-3*yOKgLg#wsQsYZbgakDn?R} zoziA!qnE_L!Nv!uW==v5>-aTZ#~D=Ukz}oPIN`Q>w-5(ePgeiN>PbUFjV-TR%~kP~ zcioDjj-l6a4wlrE&#?JnHjBS)*%U zZj7FDJiRf}xW1Pyq?Ko^)ChHqD?r(PeEpb;ROqp~ z|HY}BckPSPpNoE~2b6t%Dl>yESFBF6=Q34EJob?m{fT-obc6yF>=X|~a)2uN1@goJ z?e9^i_ugrOu{~U-tr;#e5~h6v#$IFMF2BiaT&Zu*_I=RnK~wbTgi7G3iUa2e)!eYJ z34Nbxr@_Q}`dh=9&P(JFoY>N0-cveZ8=BGIk^$9Q4m8ZigS&uxEnt;dk~b!({hw)Tk1>#)2f4odgwcC-#~UD;jI?!;woV z=oU`Y8L@2X1NMsmBGxAm0LSbZrYoXQd z1!8B4Z*#gSKCAbO+FF35H=u@=`ewbXcc>#;aHCqH_OHVljURht_! z0}F^U&d@q#||tf(x^+EeU{6XjO6L_)<{50`))JQfgPUpmguxHyJ5p>g`d zT=ld~kgJ?a`9-4=ygY1*!+H0Patb$Sh$59!3IFejrgI~#~cdpTRqQ2V7v>V)B<3tHYzc%=Pl_=-l^LIwdiBQukQ=zzog~e6J!U zH8jZ>S5XOe8S0n3E9e@uUjKZu|EunZ6oQ!q4y)%A91twKQsZM8$kUZZ#l+fEx9#DX z`bhDkdbE`kAaHVhdmawonh!cQkf#zduXwTFcb82X6@P%tw*L^!OEVB#0`|zBcFT!K z=>bdU5%?(1eJ6+FF2@P*ugzUYZJiP0J|$o6oU#;Vmc*Z$Xrw~0tG&)>G&e{izp008 zXYI}Wq1$bCyi|Ad4M4}IW93p9^NVwf8lPYB*qe{D;+XNAR;A+$%$0OqPtjYDqf6j* ztY593RxxGML^omsXqkOiQ~h!m7)kZ?&c3d}arv^;O_uDhpJQneCx*|D{{<>?x!qzp%UUhSJCfq-P**bV$@_y^+2-3q^}V?Sfr7j~AVB7lhF$;a->x=^V-BSJ+9{KHc?H zu4)s-xo>`efh@PdWrVP+nfJNG?%==b{7yPPI}d3UsL-Hj z&;Mq|rb>7;ThlvkA|BY8^}_nRh8B+#D`OZHO`aH^k^z-*I4kjy5ragde4oE~N+J0V z#cRM!TFy5;oh`XQrG!lU7WX_k96;XpvU%;QDH#QGVl|zSmO$I(KGQofaBGTu7EL5o zA1F8zf1_l&zJX=;CI?XG^S9MNt}8-rGYwv0SYsqh@q?#rk?FJvczK~{cu_P`>1cEe z>L+x<9R-GjBEHL6M6OkTYV6NwOIsU6jz}@uw8nt|Z*R^O(?a-0>PAQX-Gn{(F&Z z&6~Tx+b&)y!?Wh2f(5e!noDeal`)x0?=`!%xBz=)`9PIlic(y_-M=MdrPPq*M)^xf zmo_I9B^vuk1NLS@3*=Ci1bR^8V>H@m;D{z)1~f9byp~kLQQod!^b5r{u0PXRhDm*< z-Eac1VV}qb$%Q3}@Yh&`=o#LiMEg?vJ&H}d(s@47H81yw?8uv)ND^U6`U$0TUKlZI=&T;CX-bC@x$l)wr_5U#28Np ztS?J-3TsQ>ZF{P#aDVyY;}PKmUW&%nRn_zc_*+dT@GySVew}I>K9G?GQ>m;dm~rZT z1&eT)#_x8(*r+H$7a4oY-;RE|y^oa)8Tv(cAAev;*Kyi#B7%t5ZU+Ky{!Ld)M#8B( zvOT?uKZbfuBYR`J?HPDA2ojt-eOWRkrI83GhEFrQ)XPc+vsZtlw{Ow%gH&I8=+i{A zZ`(QC&ue6e8C93aZ8Y&NIJWF*C#ZzpC^Kw(hPbyWKCEA8tE4(Z4}Im|acT#*FC3~~ zFK>rNmr83fo~ovaD8ho(YRRk$vaFEL!8 z-^->~oG$y|b&HnuamzZ#OrHCQEKh3G(F4|;ftB`R9?Aj)na01k~Z|Ft531W4vTh42bfkZllKk&sle0|$S51z_r1oj%##s*gG~|2ee}*XyGPi{%L)nt*`yWQV ziuk`JKDg@P4Bgs^>xG{gGH>h&H?ZkZHNj&`=VGuS7y&)BvG58`!DqN{Ua7l{28a9z z49qZC{*e6mg1I^C+0JV<3{1c0xAXEhX}W74DjwC8LL^9ZzlrGFjMO(8Ot{W9lB26I z@6XXwpz+81z0vEA-2hvECMosbjC8jjX+Qrj84oV!E7%k#>qR(FALaFy23D&1h3Gl0 zv$!Qc_V)T{r-5IcQG)@#e}1Zb1}PKmIsGPFW=u+F*>NRS-!4o7?mfOr5PbcWk^t)% zmA!fFry1@ADq1>7<=he|BLs9ZM*J9nIT^+bXoGDF;y_ZRsWsc;c|t>wIB^DE)bv-9 z(y;P+M)K1v6S|@&PQ1W@m}`!)(*>v`_@S;%4Jt@@P@>o0&E)T&CY$}xufaS;MfT%N z@Au*^d>Jub(8NO*Rd>so&Ynpmexi3QEclDca?r5sS79nS$y2cm$3B01NRPSM?6K}l z^JpBt_=_D{!zq{57mjc6s&92GOGMwOztX8rfyPZ{j=nZ^U44>=fUMKA+t5Fh&I*bT ztuqRGr<$e!4YzG2atuG+p3aQd^UB=MFd>lRKd6#jC>uQC2P!!DK;d}Fk)4p(bURK! zJvq5hDNRB=`ei|m{#On45r#=3p5fhF@(x^Ktg32N6q|(_J^HR@d-jB2nJQ1U^ETx zh4p!s!ISqE4}-*2{V{t#w?J=XzqFTk+(;`4l}a4=w%;U}AF}G@m+T$ZeogMW|M2lZ z6sk<0HJU#q9bv+&IWXgo`-O_6GJ*f$e$R*a9H*CwjqB>|Z(F}NKB-Fo#J~zKo1UC! zj?~{AzG=ERJ;SMvq7aj5u8e#jFX5W1fMI2`k+`>JKrNS84lPlrHC=VW;+vkqIdPcG zs>@CN?es_UUfVax;1>mO9iJcKEknTse+Upm4jS)IWtxW5=$DgyTKa&+5$ZUOnyU0` z!6>I`Vn_;XNVeUYg&gOVp`AZTtO!qJO#>w$2SZI`LD1Btfcs-G&0)I65t+$=dmlEQ zRZ6wTRzSLWOLzP#Tzden_r}2TxE- z#(+^;6cL=$IPz5a1pVS(NiyVVS93BQ#Sbwm#~O<%m%+E=y&y4Q*X@%(0ai2#-CJ>2 zQ@WpQ`1R~t#;v{*vUQ$PnrF+5e$SU&@eNKwgd;At@g?8m5l(fArtJ<=5hzBRL_mKv zC>=g8@L_nBw2PWfxiLErQai6(e7Z`ul4^hiuk=Rf-J}v@*>b%d=UG>ygkF}}zJSYZ z-S!2~yZ&eAmVcO_B<<8z(M}m(Xk%cbyiX1A*p77V*N(gYOZPtDJ77pTw*+`IGLW-`)wmO+3oPQu$;vuFmvO7$&0u~`alrV z_&;otz8jWMpq;g#m{q=cwQ5;||Farwb7|r=dZl3J3dL*^=^ily$i!5O-^O?0T8U?S z1v@U-wl@y`aXB-Ek6h@tWHj57o)j!~_AE4laJ05GuwBn5)2H$5TzF3*&V2wAXyoH2 z2zY>dh%i^1<}*(2mZ#KT1Xn(qZ-; z-Im8WNYlj~$rcP!y-|c6Lj2zb##G|hEg(={7U5M+UuwC>Al@f0l37;sq5(a#X{kHdzGlu9 z-!VeapDgSRTl~Fv8Bz`tCatGZA-P`*;(6$v-$fy`@SwLdU`ex|7hBP!A$F?vfx)Qn zSZVZ1bIY2G5SNyqfc??&lb#O~A%*O>XAD(H;x0pIR@b|=@)bBe+r6o2r0^(ELFkcPX;T{iMsuWg6=1pR`+`9^F0qL$`|80Ar+!|72Ky;y)H!4f)2Aqftd{BlG75eK_ildFm1Mj5j}ld zbmysQOIh|KHY(JbKP1jAs`q(rPJQUL;JcxjcJqGn{pm~ylJA*&cCW7HvSf)HM16b% z^OP#x!uZvDHjc*640#F5!fhw5t|PRfL?GO=U9@_WW&&t3=q<2n2n=;@f2P@z^tBnukV2ppsB|-O?gw=v?>18e{{L5M5rIDiFPkoY~seLO!z8`NK z!Yu+co8e!RYaC9V&}}eXgl-ORqM)#N;~+(`yysoYM#Fy|YKmc>Un+NC6s#1!%`;%m zk#b#bo*9pUKW=a)50Oqj%7oc3yxeVXQ&91~knCWGXv07-M%aZj%lk8`4%tiBIARPo z>?rk6Uw0&|GwWIOs`qF-*s|i{l)DVH;B+oHeY?1rUSOIBj0!!2c(!UruZ$#Z)3=@A zs1t7+CNc0Gjb?Tp?f~cC7z}xz>f(Y2@*BgAbH%%6;SsCuxtfHEO=&II#uoZGfshb! zp_1g^PLmqPL56!}{XG6dpPVs1Sd-g`yVdX~G-{_dBP6Zv89cpkR}sgPCg`e8ZGN;b zh0?6s{ON-JQ%-H;K=|=XHjlJgc|KeeSXzjKX8kY6n#o|1v5I#FOafhwvCQM1M7NKj zf4W!-S5|@K1=G^Krt_(`d;SU2@AtnUe~q+ZXy+um4dd5rmiNl&fF&I>;DK+z~3{IHxAwpvoKpuJ?VMPes*w5TkbFs z$2T63wJ(s_8S{)bs@lNy>96A4lK7m7{e|wLo#b1&_RZPO=-^xWpbUdQE+BA9fb9O> z8Ag7FR8DzI)&0I8|5k!fll8Yh&9E*o(eR`;{(vxD+Q%M1HR5Z2Z+78F1!*(=uiyUd zV76G;s)3<>deqBVV9O=o4Y8HVrDt6d=iiW)`^_(Z=!~Tj>@SJ)I1$-{+$M-DOu`4` z)x(cOIw)~!&D9ws^f7p3BmAe^9oASkF3jiL3w{0fj)tK{huz4?tE^EpViMbEIJ9;g zD%&vC(P}wsI1>S%Tg&LHgeO)0Kv7yyrG9=dl=2Uy3BIo&2>+N{=xg;^B&sn29Cy>5 zM^z8ES{yI&UId>$m-{XMf3f$LQE_!y+b$L)6i`5dJ0uWXg1aPmaQ6`0-5~@I!QDN$ zyL)g86z(2e3x~7mexB~Pdz^Qi^ZozwkCDB1ty;Ec%{A}qzN=KzwK5~?kUa$<8VV}r zU%j61sCr%O`P*<6_v(+3NEC2YFn=>%3IAZ7wF3m#G;5e$FQHhra?CU%P*&6R@VtLw zV+u<9C9OG(xj({7zzdqXaxSKHyQ4Stn7qslz~}=3XqfSJ)3TS38vHHT2R<&3e;p`- zk^z&P(OIm>r9nq99L`qnC;aZ`rO`x+_~rOr=C?~1_^i;!s6l(qyHgPH)#SZXR|mHk zvnaGH)#l7*gYLI);v-U+2OO*|BHlaTe?_90ml?A#il(y>hPc$2A~CT~jR_#(ckt=X zUg>X3O&O5X3aurZFf`xxt6eF%7QUe^ogTa8c=z{u^;NpWTr@=CdS4*T|j|sBc zttXt*9;a&GON#hbpVh@~ueA_{gIwZ8pYaH|5C-7KtaO@tSc@3z*L||C5eoWT0jAV= z-?O-)0xymL0e>s8M5+8Uo%3>)i?d&jB7oz?T?tgtk6C5fTs+uqo{que2<~^Shm9OB z&QsP8cW-B`qnd*0?j|Nvo8^ol%1txt@`~>S!5ZMU?+@~tI)3DgN$KM(m4NH}n}(}H z!Ey0jfUrL=ZPnTJMqma{EU&}KZRr-RXoXxa80s9s!7KHn`c^}s_^}~8c|Gx?N8#mz z*H<+?1OPOqyaQWydAkAQT1NhZMg(U;xZi?E@6dote;n*Y#3D|yo#RJM_6uTn`0KJ` z%V@{z@DhpQ%qiJrJjX1SxJCGuN$@Sx%5A&PS0zr;p>oPnm!HPxag-A&SEDl#UI|BZ zHr4GMNp$dPBnc8)ZQ#X0w50-s8n*fj_oH6k(WN*?E8L+-2(?!o`KhSHa3LZSJF?Nq z7gWTI|WQbMHJrx@(%8xI+f3w?P#I7tGkTT zPg{AN-zvl5e`-<<2@Y!Uod?Af#Cr>|sVw_A7QMYnN4i?XdilfKLG@oIXQDLyaxDGk z05wDg?Ie^jkARI6 zf{$Yn22c`_i-3nj7~HXpXV~E}cimGa`JQ`-?Kk(6nK!X{D)7qC{ahXY;{BwE5f?Hv zUE^&Y;_xbuash#z4C(%JU6)=S4!j1=)?F9`Z2CSA63~n{=xa8grKsJFHA*_3sv` z_^epuBrF)AF)j(xi{GIiCwIrg+`%rZVB~LqzO;|zpqavsrt*%&xqP$>h`4COxjM@Y zLK>m2he_yF_{!#6k90Ko$!`O~PfnaOV<3b}zB3FfmynsD@JlXvU4;p`0IbU*h>pmD zxs8#|KFisR8%SJ3jA;JgmSnK{I;-bmm3gr1YhiH-jhaT1LqQeXq2SlZfVyT|avp>v zY&_3imii#Y4^JJdu5)^{9(#VfbX+rOh#sdh7XWa!W!elAorK>R6FL1|0V$uXt>xXt zVR;$q$zG)%+p0>@^kJCpP7P>tP)Qy|9NM@YYohg5%~k3E1B#LUF0L4Ig1-wbDc)-y zMLAUYd0VT3>sr>CB8KY0<;+zVSFCzfm_SPx>XBv#S}iriod=`i93HzYtjtRV*Zp!>Xr^jU7Y$3OL zjWHue*b#^tW*xTC`fMVpG61O%3)rmD)6$_(|D^Vaeno*MhN?|x8&(-~$~HlP-(z*> zwB`cvJ^+4z;$2=mnk|E0L&*a2{%S7*=7%fzA9C60fWxF0_92XKpIKTOfLt$zHrj6$ zL2#I+`d${mAH8lUH(*qD1+Q-)BP&P*wSk1ONg|PBb{%~*8(c%?Z8jq;UO``wgj|+* zuQ_7$I+4yaWcb`bc#f_csNB69^mpfT>dou1sn?wTcrD@Wpsy4JRBe~e7qmIu)zx3| zb)5FxWY2W2x@GadZ$!BtM%>bGppi&=)4V9Zo7>TIRQ=iyS5PuZZA4bd3ZyP)F>M* z##mWuo4#EX@%4}D-^~TlmNWSl4#+URn=cPnTZ{30Vgwn$o&@BiJ?rV2@OX%=X|C5X z^}RV-7i)krPXJXW5o8bk2(~Lb75ZjW(ER7YA4RW{2v?2TQRh+?>1m;tyqaFS7}_xc=0v&+ShVz+!p6Q`=iJi+1TRG(?3x$TIaVjEpewigzy%KL&5m>ol8%QZ zB0ui7%0ff!2zJ0D%WmU+#Wn&IsSkYk{oYCE=z~~;k~&7)CBf|!{LlUD1uT}WL$1>9 zo>g~z>)FIi;&ug&uKaa_ATSos|A(L9^~huoW6>YCsYkVxmsL-)ehUlCiQxzGM#m`?76k6GN{o=>E`GafTvbws}XSM*C zFck|cx4chc^0+1-ynOk7j4*@{DBA@^3d>huAi(iitg62_iydEegI%`5bNrCeK}Lay zO)j+R1H>3ipBI3N6GXNs62vH6y|(?02wygkE>B#<88comQ{km2C!RcWx6V2~embHr zqNb!R5V)Z|AV0hvPndVb?G%dO?qA8(pmSQX$Jzj^zML69$JO>~0+5$`X}yeC`s2v( zpOM@1XG+y;KkDeQWW=D8|C}%&Cr{qrFaA{if)8z(omu~9>lU2Cu#TVyVWzh$hS0-7 z*6hJ*v4a}PGCZUo-tU+e!;lz}fqZdc(lC-_<}Ii!1%Bd$sDq^fl^xkD@Jb>-(%=2@ zJ;*#8P5bZ=idT&WM@fZKrUo64fbnZ9XlEo`*q9ac+S`BU>&W$S`zsS)40B=;|B}oq zevm~e4u$O^GYnzOSC#d?s-o7z8Hoc*v3IUJf1GZ)9yLpUCdi|l!rrxv5x2?t2|MM^ ztWl=Cw0H-#tiC3xV^WU zn3qbK?i+%C_3kle9@ilaearOwCn>I>#1R&NrDf??k6T7Pm@+K2pfj?vou(QT&~r&X zUMmML$E00sJd(teQfI0108dhI+my#YqkW#k9TzvJ6K|1bE{BxGP!EA#GxrN5kaam^ z>!mo93JVD>Af5fJg16Dpj<6dI!xx;`Nw(a{uGOP)0a(N4sX&Ob=Gp0K5fJ)NAjbY9 zO8Neh)1p25?(p}D@j_yiN;ulofXy(Rans=KBG1&&}-p(Ry}ee7@DMVslzLQsQOqwiTtd`B=>vegl-pkkQyNS?p|uXA|G> ziHIosNg%3l;DMj*JU zt65n4Cy@ohZGdE@#dOujgSe7EUf5H_qhp*yJ@7V(DWd7Y7*8EuWWLI?j5$5 z%pPFXGmqz%a)(lh(iWhVTC)~&4$1>g^f|( zPwLc#hKa#_+e`klX_wWIuE>CR@VC{Eajd3?v@;5SDl|Z$=QYD5PoXy5S*k)XT>kSz z9iWQ2=JQNhBOQ``)S+0p@i~S6S-^2O&QVOSwp@*FeLBD!n{*0Qd{&BdYFW)Mgu?zq zV8+ye{N|hQi!&P75Hw?KWS``vYO3Y+dKYJ6J8>nY{30kh#2qM5##%=(@ zU7#Y2QXq^x8>ua^;Dy%E_^fZ5?csClWn~vd@Sp@z zIRhIiLnIfX^ z#t^-BGsDLj#ndITPO$gVaHpskn$6ZN4k&nyuk;<@0R4)Ik02gUi^!uEh16C20xmn5 z4&!*gVHBPs$r{7c)7MvFOW2qY50XVX(l~vB`xy@rbZ8ZPPSV#oK=<+(vwy$DW0Z!W zN;dJ}APjMBh(uR9DBwMRUrm8Asck?#)|pE{3Lt$%6o`5p)j7Vg6{>;RmMZ^HTgLB! zMD#weAP`!I;U1B}EIHyE1opjEHyvX;hsTr8vR84kOl?tMp3z)@rcL#w7mN+hIe5(v zhrFBAcBn7atRCIDUHGX(U3+vJMyPujNvY;7r@=MKW;}A4)YlJqV9W_dvUj@q-tvwd z2fBC?F%A3WUZDZbx{&3!*l%T3;s2b#v9&gzmW6wy@$;W`R|fP&9#I3CSq828;)joV z9Ou3>Sht7>G+{WS;AL4K*|(uG|Mv&j0@LiR z_CS^cq_xpNaq)AhSaK%_ zWB8!2hkZs9v7EVZiCgJU{HlQMtk+?yP|2jk8QF8#j=z(;!Mpq8)>2{X z6pX(kA8B{!%dQltB0TVmE7ce39lVjUGLHnXnGbLtO@@<8dsJPi7RDsyGv)1^tSMWe z_T6mGWSxqBXD4>vd9>{}o;`Mem*(Y!U|I1kfv*QunV$0m>WtA8=CX@s?hK&XRZEcs zToaWaCdM55CH!qT?gD`Hzp%eDyJ(A0cadr{Ym_IDn`0Ow+BQZ- z6g$5&nteN_ZA0}asi=VV-Fn1sA#P?a5W9X+8a}6W-q^BzRd;)<=8YqU&CWv1nzuaax_6|y5D{(1eLsYC7EeW;u;Tuj8!5PmcUeB_qne{sx zK|*iMV7@OGCXg8nxgWWx1cJ;`$__MYjy?jXZc*B^F4R{5pDe_pDeTZF+nNR!F57J% z;#9d3>7?~bRax{dQI7+b4=;-dw2IhtiVf&s{&vhQ^CrY`LzF-T6on!}@#*6Wn%k{Q zfN{L?^+!wiXT!SO?Nm&xo6#Hhy#I2{%?ADYMGdc;5qo)j%=OZ^a~9EJ;jvtO2^!(YD2e zy_k1iocTujcGCFouw<0NAQqewyXG$bz}7KZfvAu7uTa+wnj#+AlDj?M6*-SP6{^| zQW3J>U0tkJenUhVyl_%g<*@|AX5;_u!-Gr&>6BckYeB{XUyYw_I4wqZcTb$Sb)0zn zqaU9Lia#ajXdYNm*nVFFF1Crx$}SiUh6LnGK5#Llnt?xJFX*=}BOZqoai*|wx=or6x8yNz z|K-FmqjIJWOGW9i$?fdAXJF*!*|&26Rr9i1kVXsNAmEw^B>X-0zPUfDH>K`zTFpCM zcxvbJ|JJ6^b@bScjCB1}ePwV#S<_0=^6{ZY!U)RGFucas-O4e0N99iwjMA`NqFy^+ zJffnZ>SG`G`r${gBN(JGy_VC*cNgYXYm3Gnz`-y~j-fQHUJb>lC33S|Z0Vg0!W_l) zdbxq)T)DJNDpP@;jncB2S{CMPi&m`FUTN;)AiyzmZ>|C1Gj%Pi^^l>U(g&cgt$b)q zx=p#^C@nq*W52By4an1a;E_!eU4~y(j8mW9TYhI~7|qs6+otRhSZy*Q6?BBl!ivL9 zm+fa+cs-_TDw@w6(@?*rAzNRr8@L}o_sNR9rg;qIA+?}&W{Sw<;|eKIM9#CEXfwe` zz@62@QYG+5xLI{xA$DDZ{*eJ`{yh}3qpqw_-` zmcrUZ(eYEe#+6jApik!&QJr5u$#r6-VS=@;Q_p!9)3g)z*jq5dr8oyrdg^nIPk4pw zy0LZ($x+iAYkbZBH2*ong7vHqS|I4(jHCK+Y3Iirbeq9T%3zF9vHa$QvC-j*Wb7t{ zZ}8!)xJh?4=k-#8V{ji}aP59L89Y%2j^V?M6Upf%QR0Gk7fhRnaWf>I zSHd1Xg>VMWPGheA!b>qM6~IrkXZ6?M5b*$q)E9V_{S!Sr!3mc>-G(n zq3A}d+*e#My*c%0=!8ZT-&tV<<%0VHHEx=rp$YNNq&phTx(3LP7LAZojcF1Fp4XKF z)pJc%B$pM=pWnEa;We%iB4|TV7 zK0k4Eu~(qQKZficN1iG^t|4aS$gUX_GD+`{JDY`PFuHK}f?z*Xd*6DVBOz`_igRun zK=9#{PqzK2S@$??d|gNY1%lF@D`Za(j8zc<&d_XZ9kR6{Ik&(!_>Lp*y*b9Deh^edcC!*WXf#4`x@&y=^3(<9L!C|X;-#iHS zg1pZyY6)nGSkKY{`|lmyq7UpPoG(}o2zy?8xQayr$2V`HlkX-=j4X;t@MG&K!XJJc z4ME%#erkUhP|6J6X##_0(bq}04XQm(zBU1nK>>K-MV0B7?+zJJ`#M0RMIUNksNN-x zVSMnRDMfgnI2*9V$-K3)CUHk9yTuOpr;8UU-iBlx;85`KACR5 zi*(y`mIG1U9s4O?)>-?MZ@+w=E37Q~*l=V943M@>?l&Tu6JMT z$a3tvVUzA~yY)I2`^H-t`+%a_vaMO4i#Lm? zwpO-oNgsApex~mGiRN1j7qMHEJ|@Y&l}pQ-2Mhfe{G#LXeEQ9^g~8z23IED~aN-J+ z0{`ljcDvmQ=iL$jkym!p^lt{x!aO!C&|nOW=MtPkr0ES}*uIxD7Bx=+p|~o%`w_ow zm-QLjC6#`9guf}PG*w$Xzu@*dn|kNO(Ax?!AYh@U5cqDf&{n-C4)6!aiOG@E`MflV z^;($LAAbm-Wldigi}{Si)kogWB8+`*s9Q}WdqpF*sqb(1^=7zzZuv%%oyaA7jh)g9$o3 zNVghz0R;6uZ|E_;Xy#79As{lTs$;-FQ|b`SK2z2JsHd{J>#EN8o&);d9DmvxuPZZJ zrvkRr3{pwDUpmaR@{LxHmORYUlnOqeb#YLj{f1k5bXIt|>tw1IX1yQ75yA3x>yuSx zJqrM_2(F}$1R#s0lt5k1Pv69!y#Uv27fG{*@NC-Y!sON$r>DLk5SNzv!ae^U(74FS zWNU`abx*ky-zpdeekH26NE@pab-0_Oym7iEyIHZKb4RFlK5Coz>gZ)CSBiX7qiGfA;A|zMC?T&jrLX=0`}IVch7p ziD{Kl;{&jQLx4+UQX%Z;Yw8bpUobjks&2fAog3`%BJyK{ zSU}D}?wJ^ke3RO4BYG7Qkcn5&3syer-2_d4i9RUa56vpefU(uLH++DA3=xMxGaHfS zl8qU$in-q}7$54@H?y}JgtytLm)rOCHDXihZ@0L+%dW0)PayScOkG&`4aTCkgvq6Vh2|4B}jGO-H?R*fD-Y7`K#sC zy>CJijxIB^#mi7|tW><6+uiQ%SR!|y1H;5-?R@7}*fzrfms^e*p8>g*uJMp+iSqI* z8jN&gFnD~rAIb05Siq#jt5=BUw}^Jv;`^qEhHV}D5Vh+;JyKp|g$9m2fv?WK388a= zC%2H}6y(slzNYeZcVu7Vb{08;TjX2pc_dvVO}s=trzV1v9;i~uldLZ+P@bD-5QCH6 zIi+u^&oB3-c3$s_Q#%FIZ9C#Jh3FW&Lq+xD*6Hh%s;?w1y#hIWv1l0PUSp!W>_iUD zYT$4T#6xn;xeuzt?Feg9^>jymU@yDW6Hv~Aibp3oPng#VkNOxdm-Wt=2ga;4G0H+0gT6117TTSK~3A4hOWZ z)1GR=d6>^Md@OcH^BIlcXu>Pl;L&Y2-^veOso?BahY?Uqy|(ueKB%Q`e;)q4$|#oG0oQeD=s>@WQ`@j=XS96pYh5=#!ntSMIGkH!4sCk6o;PuBb%#Z~~# z;an(|85WwXavn?N6e2*r`_ zbtJ-NPc5v2zep_G*udBexcQUXd@7$Ym9zSv=dmAQhZgOUKpI{m=^xw9-G|C}?SecF zaviD?5$e5%!Utv;aQfGZF?v(;!+My=S@M(rg@hw%b1l{;!KA=SH?Q29_e-F)3AP)+ zWca>XjuKBUz|i)1Zn8Zi3KqWbdu`45X_-$QmoV!EC#$6)u4SqaPcYLbt~k_F&`@oC z611Tz=#}IAw4O%ilv*ge1nPaQ;Q0RV{lP+texp)rYF#JVo7oM*1s=GWFxI1Nf)3f& zOh5ZcnG9g=zP6lV{ZTftdJ6>Bgw58t)R@C&Ix^Y#KyiRbs1RU3HuBi2#2$gSJ$CRd z1sgmA#=`oBUpMD;^P>-YBvpxFy;tdGj1dB{q4&YwVxaP8mBf5h@bkdz3SG7M05Sz? zlE6YIze9xqd-H8ay^fBUHjJrfcr$z zRac_60LS!GZQ_|N7UX2nS3aWvJKYSE6~&L>`ZwuTQZ~Ww&txci-Fw0?En+$CvsXyV zFefk_Y;c2O-lsR&Y0;AJvNbKo)2(hpZA798Pe{63Zv!t$j*m&edSVG%{4<(TSqd@R z=FAI3SCSGZBw;(PmDq1jDPM_*BtEl-whNulzDZk`sOs8r6Ls@poi+OV7a&HkBI`jb z!ogE*R<-hl^)4CiJ_@F8`zKkIj~;PCJQJC3It9!dhi{Uej?7bAAvo#_pFBKRfVZD|i({i^(22?kSw*NhK;2W$PChe6 zU64PcVY=%q|0*W<%p1Q4nZC<*KJ&hC(fjJ;nn@gKM2N zp8&yUe{uupDymYiTw{Y2r?vOy=<0Oc?OrUioyhxN ziA%j=K|w(}(MB5+-FmSD&gN|NJ()|~A=Lfu-@{4HP()rwb1-7k^E8!i9`^IVo=H;o zc{notx9o0cQACi%Kp>gKRToSDc>h-rn0R4{Ndv;e^H|t?EBLq0(W#FtfwjAAc`=VE^iFCd`!BBI+xufMK+|uVjYCcplphpjvN_~ zuY=jQm4lpjn`)DMo@?dnx%aK$0JORGGWjpwD=8PRRD|$Ap|_SxZKBLR$vVos?gxoj z5M%YR2-lxN-r!j{-zNQUUKb4B0Z%vb%IAoFtH>Tx4H`oTxJ1a3FTv4eKv}%!wv-ey zZFb4$H?7-6QsLLl3D7?adQ0MVX<^4ZWcjR^*_c^#^ELas*q`Hov-4GA6a_JWn`)oL zh9{CW>4bjwJ>s4vqX54xKJuDE;X^G@<<0f-3(tKH_wjRncdDwkPkZfQ9j>QIijt$) z6I~Y&f7b|hilL%^q8I@XJzs#@t0O&%D~gs47VN~)!gwFxAZ9u}~ur#2Q53!F0+^2ui7gq#LMV+`lbDy*#-ORfAQeppMy@h zl0Y5g^#%`#1M8=7^ zT!|lb3jY|Zpql&`Etr#R>d$2XQariOeeIZy=z0XOL2svZp4NDH0~TXIRg3)rHNZ=) zQ=v%WKE}62TijB;vI3k{vRU%Mw{n%yM#}t$!1{DVME1N^N9ii}%9NKYu>QszbuF|@ z{2^j2FguwuaRHemCXupdKr|-O7U6uIEY++zTxY8F@z;ny>Rqr~o4o4Xr=u!Gp;>W% z*Mr}s`FyUc$w(*;zO}%qB+7;Bj0;wW08)$I#zwSkN`2A(tFt~&sYK2y0PBaB$zCibX$A#|dFaxq=(k3AzzwsZUAQii*5`3(T5S9kqU3 z*&XRL6y9eAft1Y9l2u+#LNd-gKxd=^gaWoTMo8t2N}=~{_leK2F{_{!-eG<+vw3<| zH+>EJ-VFV3s3>hmy*wa1A#j)fsq1)UexD6}pZl=ZHx!A=VMcc$yiR-nBhh()9Mv?# zmGgmJ201iD`jEqW{gumLhY0R8@EV&J1;(Wy1^d$iBJGf6JzPL&@x%Ltk+!sUD3W{H zT=+HVkbs(U=*aWdA#52@i&M$0P$AIP#28#`{aqbTJwPJRDKYl-P0pjK4Lw@`^Vb2z z2gnOO(ml^{ms2?3@=@}dx%1y$`14$b@u}t+m0@MnA^=@XUql4SCwsm_R+=yUv$(a+ zDc$9dxyI=j>zUUxd}f+d=O$ZkpBOV9e=rV7D#Ih=7VfCsMF1XV%jeWb>{&xw5lp#v z#W_{?OK9S!!vm`7X3ecU6u1Hc5vP=)fcs!(YrpLXI{+X9bxmJcH;BKnceE$sAp)_|gxHSQ0g8j0esu}5c$7UThGsa7Wu zt`Z-eUSZK7ycgU$eHRl2lajJlvvn($qFn?jk7ulVUB6aE0oE|Ej80so_tU3*F6RY3 zZy5(~f#mob`_&}jvALgvMk}|LG(~P~0LcInBv`C0;cN~@!oOJEQ=JlyMDJf~md11-Q82A^+(L6G|=)7RF@n z5ANS_&0$tDq}&Dahp&pumGWoK+ktY?Xg=|ixgTpWlg7jA`|$ngyzMe60!q4Vn@@Qt zl1DYivme@5*82|DK+U9R`u!TijSp7yGPl}YJ3>JI+h}XAmPq3p)jP~M^Zd^wMc3cd z{SI!+-#Wa}D_5!da{QrKjOb%gz{_TOKYi&1?+}}`xvQUsr(=0oBmP)#cgMeSb(DkU z5n=zZ*gT39`{M=&Uk}3cM-B?AOtQL4JgncWzj{dt`4*r<#;v!|$-`NQctYn?qStPa zQ`7q6%MY)@` zgtPBgyDNr#0cLay@>@t1$f{K1GZgfm^FWkGHHBNo2wzMqeC=>^g-7i?q~>YzlzM=p zq_l*)O)&HPO`XJHRJ>RwWg$D_XNQ(U*FgX#4_tEs*03|Xq z_ZK685!_UIfp1~>S#Gcbx6hHQAFceeCk2|1A^x;Me_yr1mjXH` z#moe51?2JM{$iA|=Khg#aL>;Tf!DB@eBz;l*S&wYlukO;u`|XWUQx6d$-i4G0$hJX z_1DL4Kct)uISv5HsZq!;`q~JjJc55>(WnTrfQETu$pbh)Wb$0e$@sG?CMC&fA~&Ps zwue|cQq2E+;$L@V|MPmF0onh$0GS*!Kr!qe-w})z_OA<&LumflQo#Da)c@}bL?pzX zKltB0^3VH3C|>?&%l>+t!t+=D$JGZ-OtlgTWod0(_7CJ;GG)Q3x~S%$M_FzR3iTx51hY;6f8n9m`?#o?`w-apRpdA z8{*uWZtXj})+p&|^L%)|+3Tq?wb@>2RHyaLnC`t1B>t~Qkp9Ob$RLqv&chBZT2~|k zsJM-BMC+pueVTnia_KA<|NJtM%>P392)5ngepkcVhgUV>|ayV?ms?VqbRKn zk1`^?&Gxn005^$XXq-}d6SdRbU)?bBUl*_8O>kV~pjc(N{M|nYe*dv(q|^W23I3x+ zucT@>@&CTXKk)zOEhp>Cetl;P@j9%o7hlXKYcrmMtg!Letti8{uFF*Z4DK{C#rLG)wTN2@Qtf85vuuEZDujDN4! ztpC~5G>~t7(>izTgd-Bwhz!mB{V0=PdYi(kERM-<3|9;^ZuX7w`RxJ$KVt}BVHM+C zWq1YaMsoMtseKLMe|g{{d{v2iHwW#&-uq*kV!rZ>w(Frcj5nkfCA9Lzxf8C-JQqR~dqj(5%9`i+dr&|HuIB!(=D?Ogpt_Ia} z{@S~!-v8a@z(RPLm+Yh6Y$v|QaaS<^-!ippf^xFs_m+S6*x!?M6Wj1Q$E zF1tiJpTo*D!{6%@1q~S9ke>bt!!1(1ym$c2q9F||&B)E(n|iq~G6$0Q(DlS&A2$V# zmhVw%wm9H3R(zByXzY#YU>zfE8GDej^rHQb`vXJ zi@1}WU){KhM#IK8Exm9IcY3nhQk9SUo65tY#s0jrdcVS@z51@3AR==fkKwf(P58{F z1@~7wD?Nm@`|LG!*RFt@+)CsvR{;#QbpQ*YsEbz!I7sqAguTWEa!lc!1C_hO~H*OTzjIX8&R zO~y3K(loVrWZLw@4SCYlS@uDNm}Z6g>buE@8{xUT+fVAB(W2oqe6KxMD(sYms2gFo z1g>I>RqB0P@<0GidnECVo_ES8-Bx!a29#02iipZ0oUh7sfYt4a@rWPVCSQ~XqJgY; zeMvc7bYK=f&j|SL6%;Nx^3f{Kc@p~fw4kB@!sotn{z%VORmr|a52Mj=2UgD!g@I|K z#_#3J(&(Cb>(?c7o?+XQ&Sp0_lP-TO`fDi@j(Mv5R7dBPjUZ8SP%+0OcFdUt1l@>x@hiUcj?eFBzITeWU)M3nh6Exb4- z{7z{d?EjB7(=SI!F0y! zEBaG|^+ugoj5%Tb!SmdcC?56Vx~KeSd=%0zPWp&RK`&nanszX9z&QVOinwVR{R=^^ zM(C&vjPh6EX?Q4J)WO{$E)C4We-#r@qKV@8x` z4(}cDkZjSC+pWZ7js==d_+@4J#@KI3^dDjTg`&K_60){IUrG#U`dv;<*(o9R09&~# zPi^I~?95-0!JXS@EjxE4QKcPe3*c0<8V?luAjO!kcs=DTqekkzkxH0p2fBh7=n6bO z`)p;4ajCa58Psyb-F(Y!S3-yp$y5uETwtP;3>p_`_?N z%I8M1U(cxg_s)rx{Dmc-plXV&J8}RAz0sp2mPwPbLf5U)ai{P*cW{Foid1d?KjO?N za_z!+Ls#B7vjd50!?&k5lf9atJv*#XC=8k?_=pT8g+MMx+|iJXKbQOIM$#SH+sKwbzF4nJr93n zo>w-$_}7~-M5<8LdKdAvsq?S^*^I!O^%(Q>ZKha2BWi{(mi0Mr^CGE(`(V1{PQ}N` za`2h_7nF>Um@z_MFYfvI9Z?|^aDtSKAusk!d7H!Mecz+GXSC=q+4KN#w@TmWcJWhx z-NGxwBxa%s_1T}Y`BECj%gLF#KYW_%dyc>**W%oaQ&8RN1uz;ZmOP*n=kAcQI z(f0x0|5!MRsXPLt{dQ8WgLmZqxnf;W<~zsB7iitCe;%!F-0n0-H1FDpiyN#BsWbvR z8CIl=lAg6Z3sO}(XZSOg4V(Qx+DBW};*(Ln6wBW2TlQPBH!I(r@3N#>pw3BtTEmno zT556{I>%p9ukSTk;WT62ebjC9EZnzQZpo_}wOUZM;@t%UdT7$q{Y3l{K7ZnLcyQRF z+iZ+b96H|_yR0Q9V)FWVpqT4wHsuW%yN`x%%;sPpv`yhj$V8(E7EjL!JxDXiasQ(M(^j>&4?AZT|60i1yj6QO~45Rg{+<@cyul!%8Cs zZGBImrB=!xi3G5CWY2D~nZ(}xO(q7SP!2;ROV-)-3-J90 ze#DCA6Afm0)~9@$P<;jBR;aawi)6@aoBWHJly;DS0pgVH~4$wx}E=e8nT!NEgPWpg{Q2# z@bz=_C*U%P=vhSDMr#(W-C?#}t>X1c#m51twtfKEOrHJL z4WQ@72j%u+G#o8oqF;UYpim8OH(Sto4#)Wsf5eU~Tp@hPTJkwj*K|C{ zai|GPd#{xKR)1Ig-vRMWf#PA;A+@5#z3K?h!pRQ1g_)_$$N3+nCM9ol$>zQBY9&AQ z^2GvgR$xs7v4+uPC0?=eAZ4QR!o?kqPB`ct?{1C#Ag$vk^3cHn0Q^(Z-lFd#$$r0a zC8!Mfgc=h9X|%xb@&cd&UT9eMpFE&PlU1M0wy4Mz(GsD~ywse9#y#m;ZjQtH#H`aG z<0mecd@3e?_@Gp#Xa>&dC8$fsVHgMEP45Icor45QU0J~`wl-HS@B zXsw!4JRR=##`6wpRjh1Vs0wYCx+UKDGifr7#q@yWwv{^Yejk$G-uBBR_fPOjvrYRE z_Icx4_1Q>D!vjTk!RIa7S7eexiqf?}s(6nBYy$Ooait2>2Bd~)H*PIQJA)95GeD1<2hgx!S1<|RTmMuX{ZeT(7N^%v$vbu$zmp#RwlZBiOZhy) zg7ZjXX`7h6+45vp5+&XMnaH8PK$3RHoZXCC&1O-`mj7RIt87o+{Q45ER~Kqj@tqVm z@p-={VR9qy*ggm3*P}H<2>g(PqgK|pvior~R+B#N*R~n#DdqdNi?I^Sg@Jl5NZ9%# zTD1@>8F9E=0*Y8qxY=#5++;1TD|olSaO^3xg*BTm<8zYz-1y|i3HH`hwaP=$lo219 zE6}ZMnD2s=9lsecSE3Uu0^{^MM6T$t%~kWUcaW%iJOYsofhy3n%Awa5Rt=Xu4t$TQnC?4VXb($n$@lOTyP27 z)eE|rEw=HIyK$i%m!D3L;sCU118NloJF}uK8fKNtCGV>b@x-A7l0?9YGnhi~l(SzD zWF54%>P}KZyGpewkdSUrE!LQ+rVm>IN8-7yro6|`Q;5M4KtTmIVKZyd578LFuF33t zbZML;Tyjaw@#(Ym5}Jn~&B9ohFDL^DWlu6Hg=YnmL6%Hg2-i2M~YL3iNI=159PUw@u+24md30F&&2{us+%92t% zHR~8Oj~PpuB@jW=8^-1;%7q=whx@CYw@P}}q}t(J1<{Uw#& z-+?mhI=gg9MEU1G5VJyfo>T94zPDE#LH6w;loZArPLq>UoLvs8~fbk&7Xl-%@}} zmrgb4K`cqM2=MBW0(>$UfedVd%$)tcogIc7+hogKa=U(%6t{=ha24>rzV(OmUJW>m zDy{o6_j2Xlo60Uz*&!mYm{a01aQSBZ`4_o`&jJ>6PY!>2tLwYs=_f{~WVh-?Fx|A( z?=9=C4b;DL3L-H;mX%GECtTNMSQ85=SKW8Hm>nK1$-J`z+PST4@f^Jh+RyRU=u344 z<51dz)B|rwhgRYoRg&2?=C2 z%j%7L6uq~}UY}~Uqk^8q$Cm^gQOag)g_bOHrXO>K8?w;*&HcuQ zlG&Joyk#h&6^rKbk{aa>8YJ00BYK|8B-$oF(~PTH@$>`k1DCVTg@ILn*o+c@!-1Lh zPC1DApNDn648Q@;^=O6umKfC6^SHPthJ~J|c{1B#7=gZGN~Pf!ud}%`Q2k}ANw#XI z19PtSs^XE~zU#f&cvEOOQQcgV#fpbfLDIi71V8{m?g#ok#9fjzz&bQ#mbB=4-KDvQ z?oSZt`J_fq;kd~FaN#IXm24M>v=;?IsmzP z^ExC3R?%uUc!C!4K84{&xOR*$Vid=-tw9=NwOpz}`}KX_ehK%Pd-z-$992lLzw-WS zqe<6@a(84V*Dw092ZQ$QpCvj)zSD<1duM<@@Sm#+rgm9e#l%w0R@ETU zauV5}^GSqjBTG242rN60{$KSDMAEYiyU=y1nwUGuAT;E zEm=qEs&?h*D8PXImL8)7*ehw^ucVqoFFVVqnfIUHAsKL4xtbGp{F^qVbW%VVtkWCs zg)FfX8E%b0cN}XDbIB^glHlHxt;3?);=j?OD2SwRM7lxg5^zWXMQJ3YyBT^25e8IBq`N_s z?(UEhkQk8|U=XCGJBPRnJ$gL9_xF22-(?pTwTkFT9m?z5ZRu(_TBH{%dx zZJwY*adDO#a=HQcj}d6eAipx&Ty-vy`80q~CI9oN9qZ&-y@lS?zS-@)sP6iap1lA^ zs>R!O`Vk@w!pHvJy3bAHihYoPhWajpc8J))w+p&%1v^_KUfMbdXZLpRP*1JxxUMv| zjv)AyP#re=#Cl7P-!s)ahP5&Jj-LL*U_G$bkV`!NHHhD(#)FkGp5vO z1!1nvivUw$hfaCHn~Zj2sQIf*1?6porW0E^PGI|;qFfY$Q_3}=D(d|j#}GhFsMbi zE&wlxaDVP!J;U%!Xl&vQ+ZbuPXd&XN+K*-MxPmYG%kKL@w%7Nx7>ET^qeEc_%Ugsj zj$-_T@~v-G|7r$YzBB3lZ}KSuQnGRRq{`IArIaf?_A*Cr#J}@qH&}fsh~X@rD#?va zxjTOg8X_!x|K=TCUGlqjB!s|gI_xAJJH|H%nwX-VJY*gi|53=LA>tmezZEXNf~|~{ zhpB-sQoU6eiQ}L2pcX_5TaujwnavltmiP$WKT9{c*154hM$=DB`qI2Opt1i5=jPz? z_{!?vzW*8E@oyn=o(aZS#d_CRJ-jBHMl|d?uWpD~Nk?7{x~_`ZRqy@r0{^&#d&_D; z1AWjxJhw25HIg`o=l^o`>?FJw2dt4~)`Zp`22+6=IWG@0$hoyl581(&cfr18mu8qIv8oJJVs`->>m0{oKsPbN#_Lqnul|D`c>zT6p zLcc-I!Ie37e}nc$(>QA&CDn*Xq=Vs;i8%#(DfIx)!S!-bvyj48;90+5U+#c{*BvHp5jDS@wR^%7q5dIl_aVc-y?{pj&t9D;K+Pi=&oAmQdyC;L5 z2Hp!+!@1dCaF-j3(mDc=rC!*q8d*7H@@Vv3f-(`NB-Ul-%3-Y+7e@^ACN+O%oz7IK z58aBrbQlBi{rl5flexGhzC!+W(p(aD+UVYrFgsXgLOL1G+&j7n7_XswRq~OiS*c#J z*lA&hV*5edleDIVq9 z)j|PvspeE*iq5Ih#;f)4R#ch?j`4k-C?U8w?~OagjL;V1UmfMWqT6@-%b8MV8Y8Nt zs%+u#>_zBT@S4~~8U_WM$v<^8g@zW~G%W}T6lH1CryQK76>NC36?pd~#7r}Qjt1c$ zk#2tNQQk{>rcXK14zm0X3#*Vm)>ou0i&SDJ(4itOq>1t6;SJ{@uFQ-mS{2z6S2ERX1?}$2lMvF`*W(h7AAZ zPvqCzL69}k|6VG)C{n;g;42M1XnA-&`Ws68S(vu|J8X>DizsVMby-zpO1rF4q_3JglBuI)o(jKmXE@U0cTxPC;_15mXrl?^uFpE+ zedpzNe3|EfA`^!5NK=c#r&$XlVIp26Y}q0%O3VBIFvE$z@CRQ{6~q3jU(|HcgVbM? z*@k%REzTKMNGFw2O7TR)qi*@1{Mxl&eGuTb;}7gVaSbwQOiBuAP?QgeQL|{}iF)np z_UqN&bdkFMuAd-HWJi~H<-tFc+ofMmE-8kcc-NN2`~K-=*K^Q(X-!A1?ZWyS85ntnr+JA z7F<)&fadI(wJ0reVvBq!G|_af34R#MV$r0r|3ADu_KQClyd$-Y#7kOG4g1Ncs9Qxn z1LYcG)^G7OL|ohtcOm72Ki`22?JorV2Pez?i!f)w_*Gi}e@f7c#i|L<9uaItS#T9- z{3PNDiNp{FCrp4&4M*Dl@s?kQF%1_@dC_XvP2k<*{5fxY+aColo)aVOzQzgKPXUGxV z{X+;}!=^CJ(W`OQ(QkH#a%=_s`)(sQc`~(E4T|UD7w>7|cVH%kP5 zrqS?T_s_dW`l#{ILh;UxK9-(~z_b8I-)hKBii_#fV#qBv@ZlVL(;MSt6W@tL%{7tg z-=UY0bc(c=k&zXq`8kVU3;#P^BCq`Ve~)GVe3QQ)Uq*nFnztJn-aK@Lv1|~A{_jO?Wf8Sh%=+||GlK=lh)BT@$ z)8PlE;MltDuws=SK(Q7wrBUBjN{K}@9X`dxCAa1Xj>*KA|!w-<5PU!wtLW3?fvG&-WcOkWOr_Sz*B54 zKsj!%ajCu4mAyoD*8ey~EC_%Iuu&?}h!2ISQyJZ~zL;sstotG zJ@>IsJ0Gb{j7}WYnH)Eb%>7?DSe+ufn_9ZErutq8se-(&EE0N@kOzi$anXX7#(mQ# z*bzNR9Xk%?0=Q`)d9Ry5-MXvVitjje79`un6^T9v`~p{jiVQ}k_7{LsE_ot{sQFih zz`{DInK=nqL?u8X{aghe%hJnakY_vvMP0`1MB@djNY=EFW4cnN>!-27gjJ~G=s9B3 zB)wx*U*Q?FRKLqVHy+V*P^dzWq!Eb&h5gl#X2CQrG9k_wr2V@c4W!*$3?g(@^O)z3j-yG|US85p#%Klt)K8@+Zjfic`6^8%kbT@L}W+m*&Ana^#T z=kuQyS602ood%EicxLNAoa>tK0pkA#>1v8qHkf6x`KiJ-WyUm7r=W$2`QoQyg!<#+LR8i5guCf#azgzEH92cZ&B{Co7u)3n zh^W_0G=UxLf4n#2HgQSk`R`Sd56O7PR_~_PG2Hi+$dYJPr#wrlWV{>XW-zpUD9H3O zG#7-#X%{!V^|`HdMqjrMOt>Ro!h&=}B>?Z?LdCoC?&jbKWB38p*^T*uEE*kiFq^iw zB$!Fd5Rx*y+*ZiveWX47Wj;!=Yc&p%XG?KC3z_qg-A%z&<1p#&%76psqaY0~v#EK$ zNPB0CW|LZ(N?|3M?hA;jr&Mge^4u-X6o+>x%i`~&%GCM?upomKkB;$q1tYTpe(Nui zX{RyXd7Ow;(dyWbr7kFZnKVeio2a%&XYxdjlDVOnS_aVg%AqM5ie0;sr`GBhXt&aqG3_=&&DiN=U$vQRLd{8V- zfkyhv5~+;4uewZz6Ys*LV z@9yey_g6}dJTCJzIhohup2*Oyljz%fc0O5~IN?e8uuYbWWsPc_r|E~j3r|X-35Vm! z1qLmd0g!zo=;G@NS8M=Mz3mwBKr&qoy$d$ywGL1PoK&Km z_O}&kUCv7{D%(;n1HON@R#II5k5P->-6>c~b70?h>L*qbEtWd<=GT&|bdnOZG}rOW z7-9#V?BgX$W-H!fmwjI%+w>9OMpF(DY=7?TG*mEne^CO*)kaV<2CoXgvk#mHT=eKd za;uoOmF8x@v>j82e{M|mX|!i!w6=$J2?6+*U6EepgnL}k;?9S!)#>p)P;W7?sbuch z#|pP42jxvf&;l}k*VLt@jLUIj!H6l`n4t`Ws5?u+ZKF!U!8U zAT}ms`;lFgb3dR996z=?SuQAJN{8Lw8ExIAD7*ma2kpX~UypYx+0ViaOtLm=HyW`B z;>F^n=9aS!(kHo?GX4-m>!mgcdbz^K&4-JctfLkRqv#NU&zB72Sd~&mhC|`b(r@2S zh2FS{9br8x7`q70S(gqW%YNC6^Eb;4hgIb(Y#xBB(?d3>>p%l{I7qrK} zpx@@6F7?T<{ic7!u4~5K&)dKpuoW12p_R&Pyf};Qz-Nz8ynnl8-1fM4?6?^FM1=xH zUh30);|CQi|Fxu%ialRHzo^P6lO}&jAO~yN_kPl-Oab(T)2O)6HAnd&oMJi$aHy7X z%o|~Y!G%M&?jfRw(F;K%1^UmIVY<82HBxNiq6vuNpQ;2-#7cKM^bME93H93)EEyB zs2l0Wzb&aE^uH&Nzrjst&PrROFKw@y6;ytts#i;D^bT6ooP;CBt08rhQBdm!gC80J zBkC$|OvIV&iu)uznmrkpr;AJk=YkbR(_3ed`)Y!v#1x#hcWiUYs{R~~Z#P=QQXtT2 z@w_t8CBtwa@_6j7+nMC)z}48ABHYnn(I|EgmFTju5}>xqI)1D&x0d;jEK0H?UX zNn}bR=PM}1^7~HxkI>51iwKMWD%*j)l=azly$y$Ag~X~MXlQ}#1kI=tIPEHu9V6_@ zqKOQ@X^uqBMQ6Jw-t&9n`Am}>q>03VrF-elExU8B(AR494(Pxk@@Dn&egLrcX_J#j z4GWm8kbzwCyWqn@C-owKb)<8|OvAlL zs5nGCzYcO*J88aVMALs|$&-{~Y@sSNJX-Od${J1MO8#8y=ddh{DgfdNT`>htFp-{< zYLC7B5d5jvwuI;7XIQ!X7SSReOXu=Dq`6Nm)-8{`Q}ULl3gZ+MwsGG)uqayGaZrW1 z8IdU3Skv(e$8`xGOp`~X>>nX>GeI`N_P*_j%H?-+FocC{^Ch3t4DwXJ{&b3ibyRVh zcziYor4g3d?t~^Df!yX?j7s@m1j>c)YCO52~BhIegE~`>7Ny z8B07-#y9|xDis{Wu2t}xj;xEKTg9rKZn8pkrt6c+3!4etAqd?bJGTyrxaGphG z+hrpc_;&CTea?jzkGpLT#6%CV&Ub)wE;7lz(nCVA>kWC|Qho|xbDmfZ#HDj?zju{3 z6vt`?(-d>xOz3`ajWs}ln_Mq%z1sWUei^pVk3=3K@ye;`KN^lRkMc}D%A>3A!yYGF z2_G|k+zb8YKNip!y5PBHYskG87|Mz9fTE~S2kY;mLfHAV;WD9o9vvU&1U^?XLsg3y z-~v@3d>zT7nTe39q|xh4!w!Wh^NymW_{i~sw(!WBk^W#I!+y}EdcJADJ?v^A!f|eF z7HahUkq_BrBB{HR9wdjjewt{jV`YPni4jm@w=?ohF+LT%HkrgSVXoxhR3jQZKHfkZ zID(y@cyJIa#+s1kS?Cy()*VTiO7sCnz-2@tL$NulA0HM)lfnHeLsA)G07<%Z8S}Ma zJ}rFm=qf@q&g62zqZDu|G&(&{HBSQHh(@pez$wOyL%T|Wr%k*_3!U%0F|1MEAst3l zJf-fie%L@M?pU^RgyLzt>$+7jOc8hPN&6nx_NF4Uu8*`rWkH1Xq32#V9}3PprK&M> z!=QcD1OFXcsfa)l`5@Ui%n}dGHYO%F%d!`xK|kkTjcuw98DOIW!o#3+z_T# z9>gcCX>se#mL3L!cI!Og{j}4TE0<+H7SvYk5O-E=v?Ukch;U7|ed+puDp^XBd{vT- zE`Ih(ly&<4tz}9D3k7C`Qw7vB#YH+V;rQ+BXO41k%o$n?I0ySz4XKJ;YFs4U(GbGz zT*5T9e29l{k)V_~`Kr|Y(5X_+?;eZC?>)8$cj>m9QR@5He7HN78(sV=cw<±zDY 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%0AGv7IexB&3%K*@TD`x(Z+(D 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�x)&fi4c{JZK5FT@FK% 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 g*cRBpBIBjg?H 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

    KJIMt5b!+wZBqg^DGzfmU?PBx>I^N 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
    B;mS5Cc8VM zUAd0zzhdd3{ZEG8^!=+@zph4bXDZP0BWwoDTK^**KL0TgbuuW(t5mxk{wJeQq)Q^c zi`nUu=2#HkM1u;AW`{>Sz5#nMHXQMItfWhcJf{Wh9FwMR54k<^J{Pa*sBrr!QX8td z%1LE7x@OsnzQE;${;rGiST=Em#xLi3Wb6LgDxJWg`o)B?KOgD)6GclEQGi5pxHbw; zKqByy(q?{dmGRJEt_`k)X^;a?O$olSB7&bc)0g!8fzoW?;%T*Sd zt<=R*3g8b`We$8*(dAifP^{{Yh_vs7pEtB7w*M53Wy*JnCMlNDP`2WfF4?pX@9IR6 z#dBvgK{Fzo_s>+h6dk1f-5}3~|Ea|MF~tr
    pGlE)TzJlka{Rlb`KW%718%GPPm5 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 Date: Thu, 12 Dec 2024 13:43:52 +0100 Subject: [PATCH 101/121] Remove working days interval string is unused --- modules/meeting/config/locales/en.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/meeting/config/locales/en.yml b/modules/meeting/config/locales/en.yml index a9184809b5db..7b3b83e3145f 100644 --- a/modules/meeting/config/locales/en.yml +++ b/modules/meeting/config/locales/en.yml @@ -251,7 +251,6 @@ en: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" From 40c33ce5bff452e2f80332b73e0c474262c86991 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Thu, 12 Dec 2024 12:51:32 +0000 Subject: [PATCH 102/121] update locales from crowdin [ci skip] --- config/locales/crowdin/af.yml | 20 ++- config/locales/crowdin/ar.yml | 20 ++- config/locales/crowdin/az.yml | 20 ++- config/locales/crowdin/be.yml | 20 ++- config/locales/crowdin/bg.yml | 20 ++- config/locales/crowdin/ca.yml | 20 ++- config/locales/crowdin/ckb-IR.yml | 20 ++- config/locales/crowdin/cs.yml | 20 ++- config/locales/crowdin/da.yml | 20 ++- config/locales/crowdin/de.yml | 22 ++- config/locales/crowdin/el.yml | 20 ++- config/locales/crowdin/eo.yml | 20 ++- config/locales/crowdin/es.yml | 20 ++- config/locales/crowdin/et.yml | 20 ++- config/locales/crowdin/eu.yml | 20 ++- config/locales/crowdin/fa.yml | 20 ++- config/locales/crowdin/fi.yml | 20 ++- config/locales/crowdin/fil.yml | 20 ++- config/locales/crowdin/fr.yml | 20 ++- config/locales/crowdin/he.yml | 20 ++- config/locales/crowdin/hi.yml | 20 ++- config/locales/crowdin/hr.yml | 20 ++- config/locales/crowdin/hu.yml | 20 ++- config/locales/crowdin/id.yml | 20 ++- config/locales/crowdin/it.yml | 20 ++- config/locales/crowdin/ja.yml | 20 ++- config/locales/crowdin/js-af.yml | 8 ++ config/locales/crowdin/js-ar.yml | 8 ++ config/locales/crowdin/js-az.yml | 8 ++ config/locales/crowdin/js-be.yml | 8 ++ config/locales/crowdin/js-bg.yml | 8 ++ config/locales/crowdin/js-ca.yml | 8 ++ config/locales/crowdin/js-ckb-IR.yml | 8 ++ config/locales/crowdin/js-cs.yml | 8 ++ config/locales/crowdin/js-da.yml | 8 ++ config/locales/crowdin/js-de.yml | 8 ++ config/locales/crowdin/js-el.yml | 8 ++ config/locales/crowdin/js-eo.yml | 8 ++ config/locales/crowdin/js-es.yml | 8 ++ config/locales/crowdin/js-et.yml | 8 ++ config/locales/crowdin/js-eu.yml | 8 ++ config/locales/crowdin/js-fa.yml | 8 ++ config/locales/crowdin/js-fi.yml | 8 ++ config/locales/crowdin/js-fil.yml | 8 ++ config/locales/crowdin/js-fr.yml | 8 ++ config/locales/crowdin/js-he.yml | 8 ++ config/locales/crowdin/js-hi.yml | 8 ++ config/locales/crowdin/js-hr.yml | 8 ++ config/locales/crowdin/js-hu.yml | 8 ++ config/locales/crowdin/js-id.yml | 8 ++ config/locales/crowdin/js-it.yml | 8 ++ config/locales/crowdin/js-ja.yml | 8 ++ config/locales/crowdin/js-ka.yml | 8 ++ config/locales/crowdin/js-kk.yml | 8 ++ config/locales/crowdin/js-ko.yml | 8 ++ config/locales/crowdin/js-lt.yml | 8 ++ config/locales/crowdin/js-lv.yml | 8 ++ config/locales/crowdin/js-mn.yml | 8 ++ config/locales/crowdin/js-ms.yml | 8 ++ config/locales/crowdin/js-ne.yml | 8 ++ config/locales/crowdin/js-nl.yml | 8 ++ config/locales/crowdin/js-no.yml | 8 ++ config/locales/crowdin/js-pl.yml | 8 ++ config/locales/crowdin/js-pt-BR.yml | 8 ++ config/locales/crowdin/js-pt-PT.yml | 8 ++ config/locales/crowdin/js-ro.yml | 42 +++--- config/locales/crowdin/js-ru.yml | 16 ++- config/locales/crowdin/js-rw.yml | 8 ++ config/locales/crowdin/js-si.yml | 8 ++ config/locales/crowdin/js-sk.yml | 8 ++ config/locales/crowdin/js-sl.yml | 8 ++ config/locales/crowdin/js-sr.yml | 8 ++ config/locales/crowdin/js-sv.yml | 8 ++ config/locales/crowdin/js-th.yml | 8 ++ config/locales/crowdin/js-tr.yml | 8 ++ config/locales/crowdin/js-uk.yml | 8 ++ config/locales/crowdin/js-uz.yml | 8 ++ config/locales/crowdin/js-vi.yml | 8 ++ config/locales/crowdin/js-zh-CN.yml | 8 ++ config/locales/crowdin/js-zh-TW.yml | 8 ++ config/locales/crowdin/ka.yml | 20 ++- config/locales/crowdin/kk.yml | 20 ++- config/locales/crowdin/ko.yml | 20 ++- config/locales/crowdin/lt.yml | 20 ++- config/locales/crowdin/lv.yml | 20 ++- config/locales/crowdin/mn.yml | 20 ++- config/locales/crowdin/ms.yml | 20 ++- config/locales/crowdin/ne.yml | 20 ++- config/locales/crowdin/nl.yml | 20 ++- config/locales/crowdin/no.yml | 20 ++- config/locales/crowdin/pl.yml | 20 ++- config/locales/crowdin/pt-BR.yml | 20 ++- config/locales/crowdin/pt-PT.yml | 20 ++- config/locales/crowdin/ro.yml | 134 ++++++++++-------- config/locales/crowdin/ru.yml | 38 +++-- config/locales/crowdin/rw.yml | 20 ++- config/locales/crowdin/si.yml | 20 ++- config/locales/crowdin/sk.yml | 20 ++- config/locales/crowdin/sl.yml | 20 ++- config/locales/crowdin/sr.yml | 20 ++- config/locales/crowdin/sv.yml | 20 ++- config/locales/crowdin/th.yml | 20 ++- config/locales/crowdin/tr.yml | 20 ++- config/locales/crowdin/uk.yml | 20 ++- config/locales/crowdin/uz.yml | 20 ++- config/locales/crowdin/vi.yml | 20 ++- config/locales/crowdin/zh-CN.yml | 20 ++- config/locales/crowdin/zh-TW.yml | 28 +++- modules/bim/config/locales/crowdin/af.yml | 1 + modules/bim/config/locales/crowdin/ar.yml | 1 + modules/bim/config/locales/crowdin/az.yml | 1 + modules/bim/config/locales/crowdin/be.yml | 1 + modules/bim/config/locales/crowdin/bg.yml | 1 + modules/bim/config/locales/crowdin/ca.yml | 1 + modules/bim/config/locales/crowdin/ckb-IR.yml | 1 + modules/bim/config/locales/crowdin/cs.yml | 1 + modules/bim/config/locales/crowdin/da.yml | 1 + modules/bim/config/locales/crowdin/de.yml | 1 + modules/bim/config/locales/crowdin/el.yml | 1 + modules/bim/config/locales/crowdin/eo.yml | 1 + modules/bim/config/locales/crowdin/es.yml | 1 + modules/bim/config/locales/crowdin/et.yml | 1 + modules/bim/config/locales/crowdin/eu.yml | 1 + modules/bim/config/locales/crowdin/fa.yml | 1 + modules/bim/config/locales/crowdin/fi.yml | 1 + modules/bim/config/locales/crowdin/fil.yml | 1 + modules/bim/config/locales/crowdin/fr.yml | 1 + modules/bim/config/locales/crowdin/he.yml | 1 + modules/bim/config/locales/crowdin/hi.yml | 1 + modules/bim/config/locales/crowdin/hr.yml | 1 + modules/bim/config/locales/crowdin/hu.yml | 1 + modules/bim/config/locales/crowdin/id.yml | 1 + modules/bim/config/locales/crowdin/it.yml | 1 + modules/bim/config/locales/crowdin/ja.yml | 1 + modules/bim/config/locales/crowdin/ka.yml | 1 + modules/bim/config/locales/crowdin/kk.yml | 1 + modules/bim/config/locales/crowdin/ko.yml | 1 + modules/bim/config/locales/crowdin/lt.yml | 1 + modules/bim/config/locales/crowdin/lv.yml | 1 + modules/bim/config/locales/crowdin/mn.yml | 1 + modules/bim/config/locales/crowdin/ms.yml | 1 + modules/bim/config/locales/crowdin/ne.yml | 1 + modules/bim/config/locales/crowdin/nl.yml | 1 + modules/bim/config/locales/crowdin/no.yml | 1 + modules/bim/config/locales/crowdin/pl.yml | 1 + modules/bim/config/locales/crowdin/pt-BR.yml | 1 + modules/bim/config/locales/crowdin/pt-PT.yml | 1 + modules/bim/config/locales/crowdin/ro.yml | 1 + modules/bim/config/locales/crowdin/ru.yml | 1 + modules/bim/config/locales/crowdin/rw.yml | 1 + modules/bim/config/locales/crowdin/si.yml | 1 + modules/bim/config/locales/crowdin/sk.yml | 1 + modules/bim/config/locales/crowdin/sl.yml | 1 + modules/bim/config/locales/crowdin/sr.yml | 1 + modules/bim/config/locales/crowdin/sv.yml | 1 + modules/bim/config/locales/crowdin/th.yml | 1 + modules/bim/config/locales/crowdin/tr.yml | 1 + modules/bim/config/locales/crowdin/uk.yml | 1 + modules/bim/config/locales/crowdin/uz.yml | 1 + modules/bim/config/locales/crowdin/vi.yml | 1 + modules/bim/config/locales/crowdin/zh-CN.yml | 1 + modules/bim/config/locales/crowdin/zh-TW.yml | 1 + modules/meeting/config/locales/crowdin/af.yml | 1 - modules/meeting/config/locales/crowdin/ar.yml | 1 - modules/meeting/config/locales/crowdin/az.yml | 1 - modules/meeting/config/locales/crowdin/be.yml | 1 - modules/meeting/config/locales/crowdin/bg.yml | 1 - modules/meeting/config/locales/crowdin/ca.yml | 1 - .../meeting/config/locales/crowdin/ckb-IR.yml | 1 - modules/meeting/config/locales/crowdin/cs.yml | 1 - modules/meeting/config/locales/crowdin/da.yml | 1 - modules/meeting/config/locales/crowdin/de.yml | 49 ++++--- modules/meeting/config/locales/crowdin/el.yml | 1 - modules/meeting/config/locales/crowdin/eo.yml | 1 - modules/meeting/config/locales/crowdin/es.yml | 1 - modules/meeting/config/locales/crowdin/et.yml | 1 - modules/meeting/config/locales/crowdin/eu.yml | 1 - modules/meeting/config/locales/crowdin/fa.yml | 1 - modules/meeting/config/locales/crowdin/fi.yml | 1 - .../meeting/config/locales/crowdin/fil.yml | 1 - modules/meeting/config/locales/crowdin/fr.yml | 1 - modules/meeting/config/locales/crowdin/he.yml | 1 - modules/meeting/config/locales/crowdin/hi.yml | 1 - modules/meeting/config/locales/crowdin/hr.yml | 1 - modules/meeting/config/locales/crowdin/hu.yml | 1 - modules/meeting/config/locales/crowdin/id.yml | 1 - modules/meeting/config/locales/crowdin/it.yml | 1 - modules/meeting/config/locales/crowdin/ja.yml | 1 - modules/meeting/config/locales/crowdin/ka.yml | 1 - modules/meeting/config/locales/crowdin/kk.yml | 1 - modules/meeting/config/locales/crowdin/ko.yml | 1 - modules/meeting/config/locales/crowdin/lt.yml | 1 - modules/meeting/config/locales/crowdin/lv.yml | 1 - modules/meeting/config/locales/crowdin/mn.yml | 1 - modules/meeting/config/locales/crowdin/ms.yml | 1 - modules/meeting/config/locales/crowdin/ne.yml | 1 - modules/meeting/config/locales/crowdin/nl.yml | 1 - modules/meeting/config/locales/crowdin/no.yml | 1 - modules/meeting/config/locales/crowdin/pl.yml | 1 - .../meeting/config/locales/crowdin/pt-BR.yml | 1 - .../meeting/config/locales/crowdin/pt-PT.yml | 1 - modules/meeting/config/locales/crowdin/ro.yml | 1 - modules/meeting/config/locales/crowdin/ru.yml | 17 ++- modules/meeting/config/locales/crowdin/rw.yml | 1 - modules/meeting/config/locales/crowdin/si.yml | 1 - modules/meeting/config/locales/crowdin/sk.yml | 1 - modules/meeting/config/locales/crowdin/sl.yml | 1 - modules/meeting/config/locales/crowdin/sr.yml | 1 - modules/meeting/config/locales/crowdin/sv.yml | 1 - modules/meeting/config/locales/crowdin/th.yml | 1 - modules/meeting/config/locales/crowdin/tr.yml | 1 - modules/meeting/config/locales/crowdin/uk.yml | 1 - modules/meeting/config/locales/crowdin/uz.yml | 1 - modules/meeting/config/locales/crowdin/vi.yml | 1 - .../meeting/config/locales/crowdin/zh-CN.yml | 3 +- .../meeting/config/locales/crowdin/zh-TW.yml | 29 ++-- .../reporting/config/locales/crowdin/de.yml | 8 +- .../reporting/config/locales/crowdin/ru.yml | 8 +- .../config/locales/crowdin/zh-CN.yml | 6 +- .../config/locales/crowdin/zh-TW.yml | 8 +- .../storages/config/locales/crowdin/ro.yml | 4 +- .../storages/config/locales/crowdin/ru.yml | 2 +- 222 files changed, 1561 insertions(+), 373 deletions(-) diff --git a/config/locales/crowdin/af.yml b/config/locales/crowdin/af.yml index b6dc6d8d8b85..c07d4a8fb8f7 100644 --- a/config/locales/crowdin/af.yml +++ b/config/locales/crowdin/af.yml @@ -855,6 +855,9 @@ af: lag: "Lag" from: "Werkspakket" to: "Verwante werk pakket" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "Bronadres" role: @@ -1433,6 +1436,7 @@ af: login: "Username" mail: "E-pos" name: "Naam" + note: "Note" password: "Wagwoord" priority: "Prioriteit" project: "Projek" @@ -1529,6 +1533,7 @@ af: button_print: "Print" button_quote: "Haal aan" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "Hernoem" button_replace: "Replace" button_revoke: "Revoke" @@ -1539,6 +1544,7 @@ af: button_save_as: "Save as" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "Wys" button_sort: "Rangskik" button_submit: "Dien in" @@ -1744,12 +1750,12 @@ af: direction: lnr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Werkspakket prioriteite" enumeration_reported_project_statuses: "Gerapporteerde projekstatus" @@ -1782,6 +1788,7 @@ af: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Die werkspakket is nie gekry nie of behoort nie aan hierdie projek nie" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "moet projeklid wees" @@ -2075,6 +2082,7 @@ af: responsible: "Accountable" shared: "Shared" watched: "Dophouer" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ af: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Omgewing" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2631,6 +2638,7 @@ af: label_this_month: "vandeesmaand" label_this_week: "vandeesweek" label_this_year: "vandeesjaar" + label_time: "Time" label_time_entry_plural: "Tyd gespandeer" label_time_entry_activity_plural: "Spent time activities" label_title: "Titel" @@ -3783,6 +3791,12 @@ af: edit_description: "Can view, comment and edit this work package." view: "Bekyk" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/ar.yml b/config/locales/crowdin/ar.yml index d1163dcc7ddc..20f36103a819 100644 --- a/config/locales/crowdin/ar.yml +++ b/config/locales/crowdin/ar.yml @@ -887,6 +887,9 @@ ar: lag: "Lag" from: "مجموعة العمل" to: "مجموعة عمل ذات صلة" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "الرابط" role: @@ -1505,6 +1508,7 @@ ar: login: "Username" mail: "البريد الإكتروني" name: "الاسم" + note: "Note" password: "كلمة المرور" priority: "الأولوية" project: "مشروع" @@ -1601,6 +1605,7 @@ ar: button_print: "طباعة" button_quote: "اقتباس" button_remove: إزالة + button_remove_reminder: "Remove reminder" button_rename: "اعادة التّسمية" button_replace: "Replace" button_revoke: "Revoke" @@ -1611,6 +1616,7 @@ ar: button_save_as: "احفظ بشكل" button_apply_changes: "Apply changes" button_save_back: "حفظ والعودة" + button_set_reminder: "Set reminder" button_show: "إظهار" button_sort: "فرز" button_submit: "إرسال" @@ -1888,12 +1894,12 @@ ar: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "أولويات مجموعة العمل" enumeration_reported_project_statuses: "حالة للمشروع المبلغ عنه" @@ -1926,6 +1932,7 @@ ar: error_pdf_export_too_many_columns: "تم تحديد عدد كبير جداً من الأعمدة لتصدير PDF. الرجاء تقليل عدد الأعمدة." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "مجموعة العمل غير موجودة, أو أنها لا تخص هذا المشروع" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "يجب أن تكون عضو في المشروع" @@ -2219,6 +2226,7 @@ ar: responsible: "Accountable" shared: "Shared" watched: "المشاهد" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2426,7 +2434,6 @@ ar: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "بيئة" label_estimates_and_progress: "Estimates and progress" label_equals: "يكون" @@ -2775,6 +2782,7 @@ ar: label_this_month: "هذا الشهر" label_this_week: "هذا الأسبوع" label_this_year: "هذه السنة" + label_time: "Time" label_time_entry_plural: "الوقت المستهلك" label_time_entry_activity_plural: "Spent time activities" label_title: "العنوان" @@ -3937,6 +3945,12 @@ ar: edit_description: "Can view, comment and edit this work package." view: "عرض" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/az.yml b/config/locales/crowdin/az.yml index eb40360343c0..ec0a4642a845 100644 --- a/config/locales/crowdin/az.yml +++ b/config/locales/crowdin/az.yml @@ -855,6 +855,9 @@ az: lag: "Lag" from: "Work package" to: "Related work package" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1433,6 +1436,7 @@ az: login: "Username" mail: "Email" name: "Name" + note: "Note" password: "Password" priority: "Priority" project: "Project" @@ -1529,6 +1533,7 @@ az: button_print: "Print" button_quote: "Sitat" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "Rename" button_replace: "Replace" button_revoke: "Revoke" @@ -1539,6 +1544,7 @@ az: button_save_as: "Fərqli saxla" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "Show" button_sort: "Sort" button_submit: "Submit" @@ -1744,12 +1750,12 @@ az: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1782,6 +1788,7 @@ az: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "must be project member" @@ -2075,6 +2082,7 @@ az: responsible: "Accountable" shared: "Shared" watched: "Watcher" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ az: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2631,6 +2638,7 @@ az: label_this_month: "this month" label_this_week: "this week" label_this_year: "this year" + label_time: "Time" label_time_entry_plural: "Spent time" label_time_entry_activity_plural: "Spent time activities" label_title: "Title" @@ -3783,6 +3791,12 @@ az: edit_description: "Can view, comment and edit this work package." view: "View" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/be.yml b/config/locales/crowdin/be.yml index 266fdb21eb04..bb6bcc6a84f7 100644 --- a/config/locales/crowdin/be.yml +++ b/config/locales/crowdin/be.yml @@ -871,6 +871,9 @@ be: lag: "Lag" from: "Work package" to: "Related work package" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1469,6 +1472,7 @@ be: login: "Username" mail: "Email" name: "Імя" + note: "Note" password: "Password" priority: "Priority" project: "Project" @@ -1565,6 +1569,7 @@ be: button_print: "Print" button_quote: "Quote" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "Rename" button_replace: "Replace" button_revoke: "Revoke" @@ -1575,6 +1580,7 @@ be: button_save_as: "Save as" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "Show" button_sort: "Sort" button_submit: "Submit" @@ -1816,12 +1822,12 @@ be: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1854,6 +1860,7 @@ be: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "must be project member" @@ -2147,6 +2154,7 @@ be: responsible: "Accountable" shared: "Shared" watched: "Watcher" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2354,7 +2362,6 @@ be: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2703,6 +2710,7 @@ be: label_this_month: "this month" label_this_week: "this week" label_this_year: "this year" + label_time: "Time" label_time_entry_plural: "Spent time" label_time_entry_activity_plural: "Spent time activities" label_title: "Title" @@ -3861,6 +3869,12 @@ be: edit_description: "Can view, comment and edit this work package." view: "View" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/bg.yml b/config/locales/crowdin/bg.yml index 47cc8790927a..f83ef48c56f3 100644 --- a/config/locales/crowdin/bg.yml +++ b/config/locales/crowdin/bg.yml @@ -855,6 +855,9 @@ bg: lag: "Lag" from: "Работен пакет" to: "Свързани работени пакети" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL АДРЕС" role: @@ -1433,6 +1436,7 @@ bg: login: "Username" mail: "E-mail" name: "Име" + note: "Note" password: "Парола" priority: "Приоритет" project: "Проект" @@ -1529,6 +1533,7 @@ bg: button_print: "Отпечатване" button_quote: "Цитат" button_remove: Премахване + button_remove_reminder: "Remove reminder" button_rename: "Преименуване" button_replace: "Замени" button_revoke: "Отмени" @@ -1539,6 +1544,7 @@ bg: button_save_as: "Запиши като" button_apply_changes: "Приложи промените" button_save_back: "Записване и обратно" + button_set_reminder: "Set reminder" button_show: "Покажи" button_sort: "Сортиране" button_submit: "Изпрати" @@ -1744,12 +1750,12 @@ bg: direction: отляво надясно ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Добавяне на нови групи атрибути" rename_groups: "Преименуване на групи атрибути" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Дейности за проследяване на времето" enumeration_work_package_priorities: "Приоритети на работни пакети" enumeration_reported_project_statuses: "Докладвани статуси на проект" @@ -1782,6 +1788,7 @@ bg: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Работен пакет не е намерен или не принадлежи на този проект" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "трябва да бъде член проекта" @@ -2075,6 +2082,7 @@ bg: responsible: "Accountable" shared: "Shared" watched: "Наблюдател" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ bg: label_enterprise_active_users: "%{current}/%{limit} резервирани активни потребители" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Поддръжка за големи предприятия" - label_enterprise_addon: "Добавка за големи предприятия" label_environment: "Среда" label_estimates_and_progress: "Оценки и напредък" label_equals: "е" @@ -2631,6 +2638,7 @@ bg: label_this_month: "този месец" label_this_week: "тази седмица" label_this_year: "тази година" + label_time: "Time" label_time_entry_plural: "Отработено време" label_time_entry_activity_plural: "Прекарано време" label_title: "Заглавие" @@ -3783,6 +3791,12 @@ bg: edit_description: "Can view, comment and edit this work package." view: "Изглед" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/ca.yml b/config/locales/crowdin/ca.yml index 9865504d9f5e..9493cdf246bd 100644 --- a/config/locales/crowdin/ca.yml +++ b/config/locales/crowdin/ca.yml @@ -851,6 +851,9 @@ ca: lag: "Retard" from: "Paquet de treball" to: "Paquet de treball relacionat" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1429,6 +1432,7 @@ ca: login: "Nom d'usuari" mail: "Correu electrònic" name: "Nom" + note: "Note" password: "Contrasenya" priority: "Prioritat" project: "Projecte" @@ -1525,6 +1529,7 @@ ca: button_print: "Imprimir" button_quote: "Citar" button_remove: Suprimir + button_remove_reminder: "Remove reminder" button_rename: "Renombrar" button_replace: "Substitueix" button_revoke: "Revoca" @@ -1535,6 +1540,7 @@ ca: button_save_as: "Desa com a" button_apply_changes: "Aplicar canvis" button_save_back: "Desar i tornar" + button_set_reminder: "Set reminder" button_show: "Mostra" button_sort: "Ordena" button_submit: "Enviar" @@ -1740,12 +1746,12 @@ ca: direction: dta. a esq. ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Personalitza la configuració del formulari amb aquestes extensions addicionals:" add_groups: "Afegir un nou atribut de grups" rename_groups: "Reanomena els atributs de grups" - project_filters: - description_html: "Filtrar i ordenar camps personalitzats és una extensió de l'edició Enterprise." enumeration_activities: "Activitats de rastrejament del temps" enumeration_work_package_priorities: "Prioritats dels paquets de treball" enumeration_reported_project_statuses: "Estats de projecte notificats" @@ -1778,6 +1784,7 @@ ca: error_pdf_export_too_many_columns: "Masses columnes seleccionades per a l'exportació PDF. Si us plau, redueix el nombre de columnes." error_pdf_failed_to_export: "No s'ha pogut guardar l'exportació PDF: %{error}" error_token_authenticity: "No s'ha pogut verificar el token de \"Cross-Site Request Forgery\". Has provat de sotmetre les dades en múltiples navegadors o pestanyes? Si us plau, tanca totes les pestanyes i prova-ho de nou." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "El paquet de treball no s'ha trobat o no pertany a aquest projecte" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "ha de ser membre del projecte" @@ -2071,6 +2078,7 @@ ca: responsible: "Responsable" shared: "Compartida" watched: "Observador" + reminder: "Reminder" facets: unread: "Sense llegir" unread_title: "Mostrar no llegits" @@ -2278,7 +2286,6 @@ ca: label_enterprise_active_users: "%{current}/%{limit} usuaris actius registrats" label_enterprise_edition: "Edició Enterprise." label_enterprise_support: "Suport Enterprise" - label_enterprise_addon: "Enterprise add-on" label_environment: "Entorn" label_estimates_and_progress: "Estimates and progress" label_equals: "és" @@ -2627,6 +2634,7 @@ ca: label_this_month: "aquest més" label_this_week: "aquesta setmana" label_this_year: "aquest any" + label_time: "Time" label_time_entry_plural: "Temps utilitzat" label_time_entry_activity_plural: "Spent time activities" label_title: "Títol" @@ -3773,6 +3781,12 @@ ca: edit_description: "Can view, comment and edit this work package." view: "Mostra" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/ckb-IR.yml b/config/locales/crowdin/ckb-IR.yml index f7cf71cb37db..1e93ba9a70bc 100644 --- a/config/locales/crowdin/ckb-IR.yml +++ b/config/locales/crowdin/ckb-IR.yml @@ -855,6 +855,9 @@ ckb-IR: lag: "Lag" from: "Work package" to: "Related work package" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1433,6 +1436,7 @@ ckb-IR: login: "Username" mail: "Email" name: "Name" + note: "Note" password: "Password" priority: "Priority" project: "Project" @@ -1529,6 +1533,7 @@ ckb-IR: button_print: "Print" button_quote: "Quote" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "Rename" button_replace: "Replace" button_revoke: "Revoke" @@ -1539,6 +1544,7 @@ ckb-IR: button_save_as: "Save as" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "Show" button_sort: "Sort" button_submit: "Submit" @@ -1744,12 +1750,12 @@ ckb-IR: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1782,6 +1788,7 @@ ckb-IR: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "must be project member" @@ -2075,6 +2082,7 @@ ckb-IR: responsible: "Accountable" shared: "Shared" watched: "Watcher" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ ckb-IR: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2631,6 +2638,7 @@ ckb-IR: label_this_month: "this month" label_this_week: "this week" label_this_year: "this year" + label_time: "Time" label_time_entry_plural: "Spent time" label_time_entry_activity_plural: "Spent time activities" label_title: "Title" @@ -3783,6 +3791,12 @@ ckb-IR: edit_description: "Can view, comment and edit this work package." view: "View" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/cs.yml b/config/locales/crowdin/cs.yml index e9a020eae8dc..49cb6f1b88df 100644 --- a/config/locales/crowdin/cs.yml +++ b/config/locales/crowdin/cs.yml @@ -871,6 +871,9 @@ cs: lag: "Lag" from: "Pracovní balíček" to: "Související pracovní balíček" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1469,6 +1472,7 @@ cs: login: "Uživatelské jméno" mail: "E-mail" name: "Název" + note: "Note" password: "Heslo" priority: "Priorita" project: "Projekt" @@ -1565,6 +1569,7 @@ cs: button_print: "Tisk" button_quote: "Citovat" button_remove: Odstranit + button_remove_reminder: "Remove reminder" button_rename: "Přejmenovat" button_replace: "Nahradit" button_revoke: "Revoke" @@ -1575,6 +1580,7 @@ cs: button_save_as: "Uložit jako" button_apply_changes: "Použít změny" button_save_back: "Uložit a odejít" + button_set_reminder: "Set reminder" button_show: "Zobrazit" button_sort: "Řadit" button_submit: "Potvrdit" @@ -1816,12 +1822,12 @@ cs: direction: zleva doprava ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Přizpůsobte si konfiguraci formuláře s těmito doplňky:" add_groups: "Přidat nové skupiny atributů" rename_groups: "Přejmenovat skupiny atributů" - project_filters: - description_html: "Filtrování a třídění na vlastních polích je doplněk edice Enterprise." enumeration_activities: "Sledování času" enumeration_work_package_priorities: "Priority pracovního balíčku" enumeration_reported_project_statuses: "Nahlášený stav projektu" @@ -1854,6 +1860,7 @@ cs: error_pdf_export_too_many_columns: "Příliš mnoho sloupců vybraných pro PDF export. Snižte počet sloupců." error_pdf_failed_to_export: "PDF export nelze uložit: %{error}" error_token_authenticity: "Nelze ověřit token Cross-Site Request Forgy. Pokusili jste se odeslat data na více prohlížečích nebo kartách? Prosím zavřete všechny panely a zkuste to znovu." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Pracovný balíček nebyl nalezen, nebo nepatří k tomuto projektu" error_work_package_id_not_found: "Pracovní balíček nebyl nalezen." error_must_be_project_member: "musí být členem projektu" @@ -2147,6 +2154,7 @@ cs: responsible: "Odpovědný" shared: "Sdíleno" watched: "Sledující" + reminder: "Reminder" facets: unread: "Nepřečtené" unread_title: "Zobrazit nepřečtené" @@ -2354,7 +2362,6 @@ cs: label_enterprise_active_users: "%{current}/%{limit} rezervováno aktivních uživatelů" label_enterprise_edition: "Enterprise Edice" label_enterprise_support: "Podpora pro Enterprise edici" - label_enterprise_addon: "Doplňky Enterprise Edice" label_environment: "Prostředí" label_estimates_and_progress: "Odhady a posup" label_equals: "je" @@ -2703,6 +2710,7 @@ cs: label_this_month: "tento měsíc" label_this_week: "tento týden" label_this_year: "tento rok" + label_time: "Time" label_time_entry_plural: "Strávený čas" label_time_entry_activity_plural: "Aktivity strávený čas" label_title: "Název" @@ -3859,6 +3867,12 @@ cs: edit_description: "Může zobrazovat, komentovat a upravovat tento pracovní balíček." view: "Zobrazit" view_description: "Může zobrazit tento pracovní balíček." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 uživatelů" diff --git a/config/locales/crowdin/da.yml b/config/locales/crowdin/da.yml index db003db9e8a6..d4720686d4b2 100644 --- a/config/locales/crowdin/da.yml +++ b/config/locales/crowdin/da.yml @@ -853,6 +853,9 @@ da: lag: "Lag" from: "Arbejdspakke" to: "Sammenhørende arbejdspakker" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "Webadresse" role: @@ -1431,6 +1434,7 @@ da: login: "Username" mail: "E-mail" name: "Navn" + note: "Note" password: "Adgangskode" priority: "Prioritet" project: "Projekt" @@ -1527,6 +1531,7 @@ da: button_print: "Print" button_quote: "Citer" button_remove: Fjern + button_remove_reminder: "Remove reminder" button_rename: "Omdøb" button_replace: "Replace" button_revoke: "Revoke" @@ -1537,6 +1542,7 @@ da: button_save_as: "Gem som" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "Vis" button_sort: "Sorter" button_submit: "Indsend" @@ -1742,12 +1748,12 @@ da: direction: Fra venstre mod højre ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Prioritering af arbejdspakker" enumeration_reported_project_statuses: "Rapporteret projektstatus" @@ -1780,6 +1786,7 @@ da: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Arbejdspakken er ikke fundet, eller den hører ikke til dette projekt" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "skal være et medlem af projektet" @@ -2073,6 +2080,7 @@ da: responsible: "Accountable" shared: "Shared" watched: "Tilsynsførende" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2280,7 +2288,6 @@ da: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Miljø" label_estimates_and_progress: "Estimates and progress" label_equals: "er" @@ -2629,6 +2636,7 @@ da: label_this_month: "denne måned" label_this_week: "denne uge" label_this_year: "dette år" + label_time: "Time" label_time_entry_plural: "Anvendt tid" label_time_entry_activity_plural: "Spent time activities" label_title: "Titel" @@ -3779,6 +3787,12 @@ da: edit_description: "Can view, comment and edit this work package." view: "Se" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index b3ee1e7d5bf2..51ce2b85a4ef 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -848,6 +848,9 @@ de: lag: "Verzögerung" from: "Arbeitspaket" to: "Zugehöriges Arbeitspaket" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1426,6 +1429,7 @@ de: login: "Benutzername" mail: "E-Mail" name: "Name" + note: "Note" password: "Kennwort" priority: "Priorität" project: "Projekt" @@ -1522,6 +1526,7 @@ de: button_print: "Drucken" button_quote: "Zitieren" button_remove: Entfernen + button_remove_reminder: "Remove reminder" button_rename: "Umbenennen" button_replace: "Ersetzen" button_revoke: "Widerrufen" @@ -1532,6 +1537,7 @@ de: button_save_as: "Speichern unter" button_apply_changes: "Änderungen anwenden" button_save_back: "Speichern und zurück" + button_set_reminder: "Set reminder" button_show: "Anzeigen" button_sort: "Sortierung" button_submit: "OK" @@ -1737,12 +1743,12 @@ de: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Anpassen der Form-Konfiguration mit diesen zusätzlichen Add-ons:" add_groups: "Neue Attributgruppen hinzufügen" rename_groups: "Attributgruppen umbenennen" - project_filters: - description_html: "Filtern und Sortieren auf benutzerdefinierten Feldern ist ein Add-on der Enterprise Edition." enumeration_activities: "Aktivitäten für Zeiterfassung" enumeration_work_package_priorities: "Arbeitspaket-Prioritäten" enumeration_reported_project_statuses: "Gemeldeter Projekt-Status" @@ -1775,6 +1781,7 @@ de: error_pdf_export_too_many_columns: "Zu viele Spalten für PDF-Export ausgewählt. Bitte reduzieren Sie die Anzahl der ausgewählten Spalten." error_pdf_failed_to_export: "Der PDF-Export konnte nicht gespeichert werden: %{error}" error_token_authenticity: "Das Cross-Site Request Forgery Token konnte nicht verfiziert werden. Wenn Sie versucht haben, Daten auf mehreren Tabs oder Browsern abzuspeichern, schließen sie diese und laden diese Seite erneut um den Vorgang zu wiederholen." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Das Arbeitspaket wurde nicht gefunden oder gehört nicht zu diesem Projekt." error_work_package_id_not_found: "Das Arbeitspaket wurde nicht gefunden." error_must_be_project_member: "muss Mitglied des Projekts sein" @@ -2068,6 +2075,7 @@ de: responsible: "Verantwortlich" shared: "Geteilt" watched: "Beobachter" + reminder: "Reminder" facets: unread: "Ungelesen" unread_title: "Ungelesene anzeigen" @@ -2238,7 +2246,7 @@ de: label_delete: "Löschen" label_deleted: "gelöscht" label_deleted_custom_field: "(gelöschtes benutzerdefiniertes Feld)" - label_deleted_custom_item: "(deleted item)" + label_deleted_custom_item: "(gelöschter Eintrag)" label_deleted_custom_option: "(gelöschte Option)" label_empty_element: "(leer)" label_missing_or_hidden_custom_option: "(Fehlender Wert oder fehlende Zugriffsberechtigungen)" @@ -2275,7 +2283,6 @@ de: label_enterprise_active_users: "%{current}/%{limit} gebuchte aktive Nutzer" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise Support" - label_enterprise_addon: "Enterprise Add-on" label_environment: "Umgebung" label_estimates_and_progress: "Schätzungen und Fortschritt" label_equals: "ist" @@ -2624,6 +2631,7 @@ de: label_this_month: "aktueller Monat" label_this_week: "aktuelle Woche" label_this_year: "aktuelles Jahr" + label_time: "Time" label_time_entry_plural: "Aufgewendete Zeit" label_time_entry_activity_plural: "Zeitbuchung-Aktivität" label_title: "Titel" @@ -3775,6 +3783,12 @@ de: edit_description: "Kann dieses Arbeitspaket ansehen, kommentieren und editieren." view: "Ansicht" view_description: "Kann dieses Arbeitspaket ansehen." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 Benutzer" diff --git a/config/locales/crowdin/el.yml b/config/locales/crowdin/el.yml index 112864cd8414..b5022cc13ef7 100644 --- a/config/locales/crowdin/el.yml +++ b/config/locales/crowdin/el.yml @@ -851,6 +851,9 @@ el: lag: "Lag" from: "Εργασία" to: "Σχετικές εργασίες" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1429,6 +1432,7 @@ el: login: "Όνομα χρήστη" mail: "Email" name: "Όνομα" + note: "Note" password: "Κωδικός" priority: "Προτεραιότητα" project: "Έργο" @@ -1525,6 +1529,7 @@ el: button_print: "Εκτύπωση" button_quote: "Παράθεση" button_remove: Αφαίρεση + button_remove_reminder: "Remove reminder" button_rename: "Μετονομασία" button_replace: "Αντικατάσταση" button_revoke: "Ανάκληση" @@ -1535,6 +1540,7 @@ el: button_save_as: "Αποθήκευση ως" button_apply_changes: "Apply changes" button_save_back: "Αποθήκευση και επιστροφή" + button_set_reminder: "Set reminder" button_show: "Εμφάνιση" button_sort: "Ταξινόμηση" button_submit: "Υποβολή" @@ -1740,12 +1746,12 @@ el: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Προσθήκη καινούργιων ομάδων χαρακτηριστικών" rename_groups: "Μετονομασία ομάδων χαρακτηριστικών" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Δραστηριότητες καταγραφής χρόνου" enumeration_work_package_priorities: "Προτεραιότητες πακέτου εργασίας" enumeration_reported_project_statuses: "Αναφερόμενη κατάσταση έργου" @@ -1778,6 +1784,7 @@ el: error_pdf_export_too_many_columns: "Επιλέχθηκαν πάρα πολλές στήλες για εξαγωγή σε PDF. Παρακαλούμε μειώστε τον αριθμό των στηλών." error_pdf_failed_to_export: "Η εξαγωγή σε PDF δεν ήταν δυνατό να αποθηκευτεί: %{error}" error_token_authenticity: "Δεν ήταν δυνατή η επαλήθευση του Cross-Site Request Forgery token. Προσπαθήσατε να υποβάλετε δεδομένα σε πολλαπλούς περιηγητές ή καρτέλες; Παρακαλούμε κλείστε όλες τις καρτέλες και δοκιμάστε ξανά." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Το πακέτο εργασίας δεν βρέθηκε ή δεν ανοίκει σε αυτό το έργο" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "πρέπει να είναι μέλος έργου" @@ -2071,6 +2078,7 @@ el: responsible: "Υπόλογος" shared: "Shared" watched: "Παρατηρητής" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2278,7 +2286,6 @@ el: label_enterprise_active_users: "%{current}/%{limit} κλεισμένοι ενεργοί χρήστες" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Περιβάλλον" label_estimates_and_progress: "Estimates and progress" label_equals: "είναι" @@ -2627,6 +2634,7 @@ el: label_this_month: "αυτό το μήνα" label_this_week: "αυτή την εβδομάδα" label_this_year: "αυτό το έτος" + label_time: "Time" label_time_entry_plural: "Χρόνος που δαπανήθηκε" label_time_entry_activity_plural: "Spent time activities" label_title: "Τίτλος" @@ -3777,6 +3785,12 @@ el: edit_description: "Can view, comment and edit this work package." view: "Προβολή" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/eo.yml b/config/locales/crowdin/eo.yml index 45bf456b87ae..209d67f98133 100644 --- a/config/locales/crowdin/eo.yml +++ b/config/locales/crowdin/eo.yml @@ -855,6 +855,9 @@ eo: lag: "Lag" from: "Laborpakaĵo" to: "Rilata laborpakaĵo" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1433,6 +1436,7 @@ eo: login: "Uzantnomo" mail: "Retpoŝto" name: "Nomo" + note: "Note" password: "Pasvorto" priority: "Prioritato" project: "Projekto" @@ -1529,6 +1533,7 @@ eo: button_print: "Printi" button_quote: "Citi" button_remove: Forigi + button_remove_reminder: "Remove reminder" button_rename: "Alinomi" button_replace: "Anstataŭigi" button_revoke: "Eksvalidigi" @@ -1539,6 +1544,7 @@ eo: button_save_as: "Konservi kiel" button_apply_changes: "Apply changes" button_save_back: "Konservi kaj retroiri" + button_set_reminder: "Set reminder" button_show: "Montri" button_sort: "Ordigi" button_submit: "Sendi" @@ -1744,12 +1750,12 @@ eo: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1782,6 +1788,7 @@ eo: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "vi devas esti membro de la projekto." @@ -2075,6 +2082,7 @@ eo: responsible: "Respondeculo" shared: "Shared" watched: "Atentanto" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ eo: label_enterprise_active_users: "%{current}/%{limit} rezervitaj aktivaj uzantoj" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Medio" label_estimates_and_progress: "Estimates and progress" label_equals: "estas" @@ -2631,6 +2638,7 @@ eo: label_this_month: "tiu ĉi monato" label_this_week: "tiu ĉi semajno" label_this_year: "tiu ĉi jaro" + label_time: "Time" label_time_entry_plural: "Uzata tempo" label_time_entry_activity_plural: "Spent time activities" label_title: "Titolo" @@ -3783,6 +3791,12 @@ eo: edit_description: "Can view, comment and edit this work package." view: "Montri" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/es.yml b/config/locales/crowdin/es.yml index 3e0346269277..8444761f7818 100644 --- a/config/locales/crowdin/es.yml +++ b/config/locales/crowdin/es.yml @@ -852,6 +852,9 @@ es: lag: "Retraso" from: "Paquete de trabajo" to: "Paquete de trabajo relacionado" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1430,6 +1433,7 @@ es: login: "Nombre usuario" mail: "Correo electrónico" name: "Nombre" + note: "Note" password: "Contraseña" priority: "Prioridad" project: "Proyecto" @@ -1526,6 +1530,7 @@ es: button_print: "Imprimir" button_quote: "Comentario" button_remove: Eliminar + button_remove_reminder: "Remove reminder" button_rename: "Cambiar el nombre" button_replace: "Sustituir" button_revoke: "Revocar" @@ -1536,6 +1541,7 @@ es: button_save_as: "Guardar como" button_apply_changes: "Aplicar cambios" button_save_back: "Guardar y volver" + button_set_reminder: "Set reminder" button_show: "Mostrar" button_sort: "Ordenar" button_submit: "Enviar" @@ -1741,12 +1747,12 @@ es: direction: iad (ltr) ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Personalice la configuración del formulario con estas extensiones:" add_groups: "Añadir nuevos grupos de atributos" rename_groups: "Cambiar nombre de grupos de atributos" - project_filters: - description_html: "Filtrar y ordenar en campos personalizados es una extensión de Enterprise." enumeration_activities: "Actividades de seguimiento del tiempo" enumeration_work_package_priorities: "Prioridades del paquete de trabajo" enumeration_reported_project_statuses: "Estatus del proyecto reportado" @@ -1779,6 +1785,7 @@ es: error_pdf_export_too_many_columns: "Demasiadas columnas seleccionadas para la exportación de PDF. Reduzca el número de columnas." error_pdf_failed_to_export: "No se ha podido guardar la exportación PDF: %{error}" error_token_authenticity: "No se puede verificar el token de falsificación de solicitud entre sitios. ¿Intentó enviar datos en varios navegadores o pestañas? Cierre de todas las pestañas y vuelva a intentarlo." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "El paquete de trabajo no se ha encontrado o no pertenece a este proyecto" error_work_package_id_not_found: "No se ha encontrado el paquete de trabajo." error_must_be_project_member: "debe ser miembro del proyecto" @@ -2072,6 +2079,7 @@ es: responsible: "Responsable" shared: "Compartido" watched: "Observador" + reminder: "Reminder" facets: unread: "No leídas" unread_title: "Mostrar no leídos" @@ -2279,7 +2287,6 @@ es: label_enterprise_active_users: "%{current}/%{limit} usuarios activos que han reservado" label_enterprise_edition: "Enterprise" label_enterprise_support: "Soporte empresarial" - label_enterprise_addon: "Extensión Enterprise" label_environment: "Entorno" label_estimates_and_progress: "Estimaciones y progreso" label_equals: "es" @@ -2628,6 +2635,7 @@ es: label_this_month: "este mes" label_this_week: "esta semana" label_this_year: "este año" + label_time: "Time" label_time_entry_plural: "Tiempo invertido" label_time_entry_activity_plural: "Actividades de tiempo invertido" label_title: "Título" @@ -3778,6 +3786,12 @@ es: edit_description: "Puede ver, comentar y editar este paquete de trabajo." view: "Ver" view_description: "Puede ver este paquete de trabajo." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 usuarios" diff --git a/config/locales/crowdin/et.yml b/config/locales/crowdin/et.yml index 5ffc32bbb343..e0535f32c38c 100644 --- a/config/locales/crowdin/et.yml +++ b/config/locales/crowdin/et.yml @@ -855,6 +855,9 @@ et: lag: "Lag" from: "Teema" to: "Seotud teema" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1433,6 +1436,7 @@ et: login: "Kasutajanimi" mail: "E-posti aadress" name: "Nimi" + note: "Note" password: "Parool" priority: "Prioriteet" project: "Projekt" @@ -1529,6 +1533,7 @@ et: button_print: "Prindi" button_quote: "Tsiteeri" button_remove: Eemalda + button_remove_reminder: "Remove reminder" button_rename: "Nimeta ümber" button_replace: "Asenda" button_revoke: "Võta tagasi" @@ -1539,6 +1544,7 @@ et: button_save_as: "Salvesta kui" button_apply_changes: "Apply changes" button_save_back: "Salvesta ja mine tagasi" + button_set_reminder: "Set reminder" button_show: "Kuva" button_sort: "Sorteeri" button_submit: "Sisesta" @@ -1744,12 +1750,12 @@ et: direction: vasakult paremale ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Teemade prioriteedid" enumeration_reported_project_statuses: "Esitatud projekti olek" @@ -1782,6 +1788,7 @@ et: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Teemat ei leitud või see ei kuulu siia projekti" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "peab olema projekti liige" @@ -2075,6 +2082,7 @@ et: responsible: "Accountable" shared: "Shared" watched: "Jälgija" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ et: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Keskkond" label_estimates_and_progress: "Estimates and progress" label_equals: "võrdub" @@ -2631,6 +2638,7 @@ et: label_this_month: "sel kuul" label_this_week: "sel nädalal" label_this_year: "sel aastal" + label_time: "Time" label_time_entry_plural: "Kulutatud aeg" label_time_entry_activity_plural: "Spent time activities" label_title: "Pealkiri" @@ -3783,6 +3791,12 @@ et: edit_description: "Can view, comment and edit this work package." view: "Kuva" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/eu.yml b/config/locales/crowdin/eu.yml index f7441e7b1602..935d21275934 100644 --- a/config/locales/crowdin/eu.yml +++ b/config/locales/crowdin/eu.yml @@ -855,6 +855,9 @@ eu: lag: "Lag" from: "Work package" to: "Related work package" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1433,6 +1436,7 @@ eu: login: "Username" mail: "Email" name: "Name" + note: "Note" password: "Password" priority: "Priority" project: "Project" @@ -1529,6 +1533,7 @@ eu: button_print: "Print" button_quote: "Quote" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "Rename" button_replace: "Replace" button_revoke: "Revoke" @@ -1539,6 +1544,7 @@ eu: button_save_as: "Save as" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "Show" button_sort: "Sort" button_submit: "Submit" @@ -1744,12 +1750,12 @@ eu: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1782,6 +1788,7 @@ eu: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "must be project member" @@ -2075,6 +2082,7 @@ eu: responsible: "Accountable" shared: "Shared" watched: "Watcher" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ eu: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2631,6 +2638,7 @@ eu: label_this_month: "this month" label_this_week: "this week" label_this_year: "this year" + label_time: "Time" label_time_entry_plural: "Spent time" label_time_entry_activity_plural: "Spent time activities" label_title: "Title" @@ -3783,6 +3791,12 @@ eu: edit_description: "Can view, comment and edit this work package." view: "View" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/fa.yml b/config/locales/crowdin/fa.yml index ebd9bbe65b25..3f806358c02f 100644 --- a/config/locales/crowdin/fa.yml +++ b/config/locales/crowdin/fa.yml @@ -855,6 +855,9 @@ fa: lag: "Lag" from: "بسته کاری" to: "بسته کاری وابسته" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "نشانی اینترنت" role: @@ -1433,6 +1436,7 @@ fa: login: "نام كاربري" mail: "Email" name: "نام" + note: "Note" password: "کلمه عبور" priority: "اولويت" project: "پروژه" @@ -1529,6 +1533,7 @@ fa: button_print: "چاپ کردن" button_quote: "نقل قول" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "تغییر نام" button_replace: "Replace" button_revoke: "Revoke" @@ -1539,6 +1544,7 @@ fa: button_save_as: "ذخیره به عنوان" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "نمایش" button_sort: "مرتب‌سازی" button_submit: "ثبت کردن" @@ -1744,12 +1750,12 @@ fa: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1782,6 +1788,7 @@ fa: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "must be project member" @@ -2075,6 +2082,7 @@ fa: responsible: "Accountable" shared: "Shared" watched: "ناظر" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ fa: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2631,6 +2638,7 @@ fa: label_this_month: "this month" label_this_week: "this week" label_this_year: "this year" + label_time: "Time" label_time_entry_plural: "زمان صرف شده" label_time_entry_activity_plural: "Spent time activities" label_title: "عنوان" @@ -3783,6 +3791,12 @@ fa: edit_description: "Can view, comment and edit this work package." view: "مشاهده" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/fi.yml b/config/locales/crowdin/fi.yml index 4066969f80bd..454732432516 100644 --- a/config/locales/crowdin/fi.yml +++ b/config/locales/crowdin/fi.yml @@ -855,6 +855,9 @@ fi: lag: "Lag" from: "Tehtävä" to: "Liittyy tehtävään" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1433,6 +1436,7 @@ fi: login: "Käyttäjätunnus" mail: "Sähköposti" name: "Nimi" + note: "Note" password: "Salasana" priority: "Prioriteetti" project: "Projekti" @@ -1529,6 +1533,7 @@ fi: button_print: "Tulosta" button_quote: "Siteeraa" button_remove: Poista + button_remove_reminder: "Remove reminder" button_rename: "Nimeä uudelleen" button_replace: "Korvaa" button_revoke: "Revoke" @@ -1539,6 +1544,7 @@ fi: button_save_as: "Tallenna nimellä" button_apply_changes: "Apply changes" button_save_back: "Tallenna ja palaa" + button_set_reminder: "Set reminder" button_show: "Näytä" button_sort: "Järjestä" button_submit: "Lähetä" @@ -1744,12 +1750,12 @@ fi: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Ajanseurannan tapahtumat" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1782,6 +1788,7 @@ fi: error_pdf_export_too_many_columns: "Liikaa sarakkeita valittuina PDF-vientiin. Pienennä sarakkeiden määrää." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Toimia paketti ei löydy tai ei kuulu tähän projektiin" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "on oltava projekti jäsen" @@ -2075,6 +2082,7 @@ fi: responsible: "Vastuuhenkilö" shared: "Shared" watched: "Seuraajat" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ fi: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Ympäristö" label_estimates_and_progress: "Estimates and progress" label_equals: "on" @@ -2631,6 +2638,7 @@ fi: label_this_month: "tässä kuussa" label_this_week: "tällä viikolla" label_this_year: "tänä vuonna" + label_time: "Time" label_time_entry_plural: "Käytetty aika" label_time_entry_activity_plural: "Spent time activities" label_title: "Otsikko" @@ -3783,6 +3791,12 @@ fi: edit_description: "Can view, comment and edit this work package." view: "Näytä" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/fil.yml b/config/locales/crowdin/fil.yml index b38fae8d3598..a93830ff88cc 100644 --- a/config/locales/crowdin/fil.yml +++ b/config/locales/crowdin/fil.yml @@ -855,6 +855,9 @@ fil: lag: "Lag" from: "Work package" to: "Ang kaugnayan sa pakete na ginagawa" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "Ang URL" role: @@ -1433,6 +1436,7 @@ fil: login: "Username" mail: "Email" name: "Pangalan" + note: "Note" password: "Password" priority: "Ang prayoridad" project: "Proyekto" @@ -1529,6 +1533,7 @@ fil: button_print: "I-print" button_quote: "Quote" button_remove: Tanggalin + button_remove_reminder: "Remove reminder" button_rename: "Baguhin ang pangalan" button_replace: "Palitan" button_revoke: "Revoke" @@ -1539,6 +1544,7 @@ fil: button_save_as: "I-save bilang" button_apply_changes: "Apply changes" button_save_back: "I-save at bumalik" + button_set_reminder: "Set reminder" button_show: "Ipakita" button_sort: "Ayusin" button_submit: "Sumite" @@ -1744,12 +1750,12 @@ fil: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Magdgdag ng mga bagong attribute na grupo" rename_groups: "Palitan ng pangalan ang mga grupong attribute" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Ang mga prioridad ng work package" enumeration_reported_project_statuses: "Estado ng inuulat na proyekto" @@ -1782,6 +1788,7 @@ fil: error_pdf_export_too_many_columns: "Masyadong maraming hanay ang napili para sa PDF export. Mangyaring bawasan ang mga bilang ng hanay." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Ang work package ay hindi natagpuan o hindi kabilang sa proyektong ito" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "dapat ay miyembro ng proyekto" @@ -2075,6 +2082,7 @@ fil: responsible: "Accountable" shared: "Shared" watched: "Tagapagmasid" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ fil: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Kalikasan" label_estimates_and_progress: "Estimates and progress" label_equals: "ay" @@ -2631,6 +2638,7 @@ fil: label_this_month: "ngayong buwan" label_this_week: "ngayong semana" label_this_year: "ngayong taon" + label_time: "Time" label_time_entry_plural: "Nauubos na oras" label_time_entry_activity_plural: "Spent time activities" label_title: "Pamagat" @@ -3781,6 +3789,12 @@ fil: edit_description: "Can view, comment and edit this work package." view: "Tingnan" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/fr.yml b/config/locales/crowdin/fr.yml index 6e01db1c4d4f..cdbe611bcb75 100644 --- a/config/locales/crowdin/fr.yml +++ b/config/locales/crowdin/fr.yml @@ -853,6 +853,9 @@ fr: lag: "Délai" from: "Lot de travaux" to: "Lot de travaux associé" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1431,6 +1434,7 @@ fr: login: "Nom d'utilisateur" mail: "E-mail" name: "Nom" + note: "Note" password: "Mot de passe" priority: "Priorité" project: "Projet" @@ -1527,6 +1531,7 @@ fr: button_print: "Imprimer" button_quote: "Citer" button_remove: Supprimer + button_remove_reminder: "Remove reminder" button_rename: "Renommer" button_replace: "Remplacer" button_revoke: "Révoquer" @@ -1537,6 +1542,7 @@ fr: button_save_as: "Enregistrer sous" button_apply_changes: "Appliquer les modifications" button_save_back: "Enregistrer et revenir" + button_set_reminder: "Set reminder" button_show: "Afficher" button_sort: "Trier" button_submit: "Envoyer" @@ -1742,12 +1748,12 @@ fr: direction: de gauche à droite ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Personnaliser la configuration du formulaire avec ces add-ons supplémentaires :" add_groups: "Ajouter de nouveaux groupes d’attributs" rename_groups: "Renommer les groupes d’attributs" - project_filters: - description_html: "Le filtrage et le tri sur les champs personnalisés sont un add-on de l'édition Entreprise." enumeration_activities: "Activités de suivi du temps" enumeration_work_package_priorities: "Priorités du Lot de Travaux" enumeration_reported_project_statuses: "Statuts de projet signalés" @@ -1780,6 +1786,7 @@ fr: error_pdf_export_too_many_columns: "Trop de colonnes sélectionnées pour l’exportation PDF. Veuillez réduire le nombre de colonnes." error_pdf_failed_to_export: "L'export PDF n'a pas pu être enregistré: %{error}" error_token_authenticity: "Impossible de vérifier le jeton de Cross-Site Request Forgery. Avez-vous essayé d'envoyer des données sur plusieurs navigateurs ou onglets ? Veuillez fermer tous les onglets et réessayer." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Le Lot de Travaux n'a pas été trouvé ou n'appartient pas à ce projet" error_work_package_id_not_found: "Le lot de travaux n'a pas été trouvé." error_must_be_project_member: "doit être membre du projet" @@ -2073,6 +2080,7 @@ fr: responsible: "Responsable" shared: "Partagé" watched: "Observateur" + reminder: "Reminder" facets: unread: "Non lu" unread_title: "Afficher les messages non lus" @@ -2280,7 +2288,6 @@ fr: label_enterprise_active_users: "%{current}/%{limit} utilisateurs actifs inscrits" label_enterprise_edition: "Version Entreprise" label_enterprise_support: "Support Enterprise" - label_enterprise_addon: "add-on Enterprise" label_environment: "Environement" label_estimates_and_progress: "Estimations et progression" label_equals: "est" @@ -2629,6 +2636,7 @@ fr: label_this_month: "ce mois" label_this_week: "cette semaine" label_this_year: "cette année" + label_time: "Time" label_time_entry_plural: "Temps passé" label_time_entry_activity_plural: "Activités du temps passé" label_title: "Titre" @@ -3780,6 +3788,12 @@ fr: edit_description: "Peut consulter, commenter et modifier ce lot de travaux." view: "Voir" view_description: "Peut consulter ce lot de travaux." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 utilisateur" diff --git a/config/locales/crowdin/he.yml b/config/locales/crowdin/he.yml index 3431c3c79b96..20f2daa8adef 100644 --- a/config/locales/crowdin/he.yml +++ b/config/locales/crowdin/he.yml @@ -871,6 +871,9 @@ he: lag: "Lag" from: "חבילת עבודה" to: "חבילת עבודה קשורה" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "כתובת URL" role: @@ -1469,6 +1472,7 @@ he: login: "Username" mail: "אימייל" name: "שם" + note: "Note" password: "סיסמה" priority: "עדיפות" project: "פרוייקט" @@ -1565,6 +1569,7 @@ he: button_print: "Print" button_quote: "צטט" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "שינוי שם" button_replace: "Replace" button_revoke: "Revoke" @@ -1575,6 +1580,7 @@ he: button_save_as: "שמירה בשם" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "הצג" button_sort: "מיין" button_submit: "שלח" @@ -1816,12 +1822,12 @@ he: direction: משמאל לימין ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "עדיפויות חבילת עבודה" enumeration_reported_project_statuses: "סטטוסים של הפרויקט המדווח" @@ -1854,6 +1860,7 @@ he: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "חבילת העבודה לא נמצאה או לא שייכת לפרוייקט זה" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "חייב להיות חבר בפרוייקט" @@ -2147,6 +2154,7 @@ he: responsible: "Accountable" shared: "Shared" watched: "צופה" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2354,7 +2362,6 @@ he: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "סביבה" label_estimates_and_progress: "Estimates and progress" label_equals: "הינו" @@ -2703,6 +2710,7 @@ he: label_this_month: "החודש" label_this_week: "השבוע" label_this_year: "this year" + label_time: "Time" label_time_entry_plural: "זמן שבוזבז" label_time_entry_activity_plural: "Spent time activities" label_title: "כותרת" @@ -3861,6 +3869,12 @@ he: edit_description: "Can view, comment and edit this work package." view: "תצוגה" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/hi.yml b/config/locales/crowdin/hi.yml index 9826621f235a..da1a55dbfb4d 100644 --- a/config/locales/crowdin/hi.yml +++ b/config/locales/crowdin/hi.yml @@ -853,6 +853,9 @@ hi: lag: "Lag" from: "कार्य पैकेज" to: "संबंधित कार्य पैकेज" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "यू आर एल" role: @@ -1431,6 +1434,7 @@ hi: login: "Username" mail: "ईमेल" name: "नाम" + note: "Note" password: "पासवर्ड" priority: "वरीयता" project: "परियोजना" @@ -1527,6 +1531,7 @@ hi: button_print: "Print" button_quote: "उद्धरण" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "नाम बदलें" button_replace: "Replace" button_revoke: "Revoke" @@ -1537,6 +1542,7 @@ hi: button_save_as: "के रूप में सहेजें..." button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "दिखाएँ" button_sort: "क्रम में लगायें" button_submit: "सबमिट करें" @@ -1742,12 +1748,12 @@ hi: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "रिपोर्ट की गई प्रोजेक्ट स्थिति" @@ -1780,6 +1786,7 @@ hi: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "क्रॉस-साइट अनुरोध जालसाज़ी टोकन सत्यापित करने में असमर्थ । क्या आपने एकाधिक ब्राउज़र्स या टैब पर डेटा सबमिट करने का प्रयास किया है? कृपया सभी टैब बंद करें और पुन: प्रयास करे ।" + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "कार्य पैकेज नहीं मिला, या इस प्रोजेक्ट से संबंधित नहीं है" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "प्रोजेक्ट सदस्य होना जरूरी है" @@ -2073,6 +2080,7 @@ hi: responsible: "जवाबदेह" shared: "Shared" watched: "वॉचर" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2280,7 +2288,6 @@ hi: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2629,6 +2636,7 @@ hi: label_this_month: "इस महीने" label_this_week: "इस सप्ताह" label_this_year: "इस वर्ष" + label_time: "Time" label_time_entry_plural: "समय बिताया" label_time_entry_activity_plural: "Spent time activities" label_title: "शीर्षक" @@ -3781,6 +3789,12 @@ hi: edit_description: "Can view, comment and edit this work package." view: "दृश्य" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/hr.yml b/config/locales/crowdin/hr.yml index ff3d79df8b5a..b58e09f7575a 100644 --- a/config/locales/crowdin/hr.yml +++ b/config/locales/crowdin/hr.yml @@ -863,6 +863,9 @@ hr: lag: "Lag" from: "Radni paket" to: "Pripadajući radni paket" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1451,6 +1454,7 @@ hr: login: "Korisničko ime" mail: "Email" name: "Naziv" + note: "Note" password: "Lozinka" priority: "Prioritet" project: "Projekt" @@ -1547,6 +1551,7 @@ hr: button_print: "Ispis" button_quote: "Citiraj" button_remove: Ukloni + button_remove_reminder: "Remove reminder" button_rename: "Preimenuj" button_replace: "Zamijeni" button_revoke: "Revoke" @@ -1557,6 +1562,7 @@ hr: button_save_as: "Spremiti kao" button_apply_changes: "Apply changes" button_save_back: "Snimi i vratiti" + button_set_reminder: "Set reminder" button_show: "Prikaži" button_sort: "Sortiraj" button_submit: "Pošalji" @@ -1780,12 +1786,12 @@ hr: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Prioriteti radnog paketa" enumeration_reported_project_statuses: "Priopćeni statusi projekta" @@ -1818,6 +1824,7 @@ hr: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Radni paket nije pronađen ili ne pripada ovom projektu" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "mora biti član projekta" @@ -2111,6 +2118,7 @@ hr: responsible: "Accountable" shared: "Shared" watched: "Nadglednik" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2318,7 +2326,6 @@ hr: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Okruženje" label_estimates_and_progress: "Estimates and progress" label_equals: "je" @@ -2667,6 +2674,7 @@ hr: label_this_month: "ovaj mjesec" label_this_week: "ovog tjedna" label_this_year: "ove godine" + label_time: "Time" label_time_entry_plural: "Utrošeno vrijeme" label_time_entry_activity_plural: "Spent time activities" label_title: "Naziv" @@ -3822,6 +3830,12 @@ hr: edit_description: "Can view, comment and edit this work package." view: "Pregled" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/hu.yml b/config/locales/crowdin/hu.yml index cc7274f73a9e..71569a012a48 100644 --- a/config/locales/crowdin/hu.yml +++ b/config/locales/crowdin/hu.yml @@ -852,6 +852,9 @@ hu: lag: "Lag" from: "Feladatcsoport" to: "Kapcsolódó feladatcsoport" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1430,6 +1433,7 @@ hu: login: "Felhasználónév" mail: "Email" name: "Név" + note: "Note" password: "Jelszó" priority: "Fontosság" project: "Projekt" @@ -1526,6 +1530,7 @@ hu: button_print: "Nyomtatás" button_quote: "Idéz" button_remove: Eltávolítás + button_remove_reminder: "Remove reminder" button_rename: "Átnevezés" button_replace: "Csere" button_revoke: "Visszavonás" @@ -1536,6 +1541,7 @@ hu: button_save_as: "Mentés másként" button_apply_changes: "Változások alkalmazása" button_save_back: "Mentés és vissza" + button_set_reminder: "Set reminder" button_show: "Mutat" button_sort: "Rendez" button_submit: "Küldés" @@ -1741,12 +1747,12 @@ hu: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Testre szabhatja az űrlap konfigurációját ezekkel a további bővítményekkel:" add_groups: "Attribútum-csoport hozzáadása" rename_groups: "Attribútum-csoportok átnevezése" - project_filters: - description_html: "Az egyéni mezők szűrése és rendezése a Vállalati Verzió kiegészítője." enumeration_activities: "Időnyilvántartási tevékenységek" enumeration_work_package_priorities: "Feladatcsoport fontosság" enumeration_reported_project_statuses: "Projekt állapot beszámoló" @@ -1779,6 +1785,7 @@ hu: error_pdf_export_too_many_columns: "Túl sok oszlop lett kiválasztva a PDF exportáláshoz. Kérlek csökkentsd a sorok számát." error_pdf_failed_to_export: "A PDF-Exportálás mentése nem sikerült: %{error}" error_token_authenticity: "Nem sikerült ellenőrizni a Cross-Site Request Forgery token-t. Megpróbált adatokat küldeni több böngészőn vagy lapon keresztül? Kérjük, zárja be az összes lapot, és próbálkozzon újra." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "A feladatcsoport nem található, vagy nem tartozik ehhez a projekthez" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "projekt tagnak kell lennie" @@ -2072,6 +2079,7 @@ hu: responsible: "Felelős" shared: "Megosztva" watched: "Megfigyelő" + reminder: "Reminder" facets: unread: "Olvasatlan" unread_title: "Show unread" @@ -2279,7 +2287,6 @@ hu: label_enterprise_active_users: "%{current}/%{limit} foglalt aktív felhasználók" label_enterprise_edition: "Vállalati Verzió." label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Környezet" label_estimates_and_progress: "Estimates and progress" label_equals: "van" @@ -2628,6 +2635,7 @@ hu: label_this_month: "Ebben a hónapban" label_this_week: "ezen a héten" label_this_year: "Ebben az évben" + label_time: "Time" label_time_entry_plural: "Eltöltött idő" label_time_entry_activity_plural: "Spent time activities" label_title: "Cím" @@ -3779,6 +3787,12 @@ hu: edit_description: "Can view, comment and edit this work package." view: "Nézet" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/id.yml b/config/locales/crowdin/id.yml index 13de031b6e3a..1f51a7d20e12 100644 --- a/config/locales/crowdin/id.yml +++ b/config/locales/crowdin/id.yml @@ -840,6 +840,9 @@ id: lag: "Lag" from: "Paket-Penugasan" to: "Work package terkait" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1408,6 +1411,7 @@ id: login: "Nama pengguna" mail: "Email" name: "Nama" + note: "Note" password: "Password" priority: "Prioritas" project: "Project" @@ -1504,6 +1508,7 @@ id: button_print: "Cetak" button_quote: "Kutipan" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "Ubah nama" button_replace: "Ganti" button_revoke: "Menarik kembali" @@ -1514,6 +1519,7 @@ id: button_save_as: "Simpan sebagai" button_apply_changes: "Menerapkan perubahan" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "Tampilkan" button_sort: "Urutkan" button_submit: "Kirim" @@ -1701,12 +1707,12 @@ id: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Menambahkan atribut kelompok-kelompok baru" rename_groups: "Menamai ulang atribut kelompok-kelompok" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Kegiatan pelacakan waktu" enumeration_work_package_priorities: "Paket-Penugasan prioritas" enumeration_reported_project_statuses: "Status Project yang di-Report" @@ -1739,6 +1745,7 @@ id: error_pdf_export_too_many_columns: "Kolom yang dipilih utnuk ekspor PDF terlalu banyak. Mohon kurangi jumlah kolom." error_pdf_failed_to_export: "Ekspor PDF tidak dapat disimpan: %{error}" error_token_authenticity: "Tidak dapat memverifikasi token Pemalsuan Permintaan Lintas Situs. Apakah Anda mencoba mengirimkan data di beberapa browser atau tab? Harap tutup semua tab dan coba lagi." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Paket-Penugasan tidak ditemukan atau tidak termasuk dalam Project ini" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "harus sbg Project Member" @@ -2032,6 +2039,7 @@ id: responsible: "Akuntabel" shared: "Shared" watched: "Pemantau" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2239,7 +2247,6 @@ id: label_enterprise_active_users: "%{current}/%{limit} pengguna aktif yang dipesan" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Dukungan perusahaan" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "adalah" @@ -2588,6 +2595,7 @@ id: label_this_month: "bulan ini" label_this_week: "minggu ini" label_this_year: "tahun ini" + label_time: "Time" label_time_entry_plural: "Durasi" label_time_entry_activity_plural: "Spent time activities" label_title: "Judul" @@ -3734,6 +3742,12 @@ id: edit_description: "Can view, comment and edit this work package." view: "Lihat" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/it.yml b/config/locales/crowdin/it.yml index f03f4e89c7f6..f210e52b9899 100644 --- a/config/locales/crowdin/it.yml +++ b/config/locales/crowdin/it.yml @@ -851,6 +851,9 @@ it: lag: "Ritardo" from: "Macro-attività" to: "Macro-attività correlata" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1429,6 +1432,7 @@ it: login: "Nome utente" mail: "Email" name: "Nome" + note: "Note" password: "Password" priority: "Priorità" project: "Progetto" @@ -1525,6 +1529,7 @@ it: button_print: "Stampa" button_quote: "Cita" button_remove: Rimuovi + button_remove_reminder: "Remove reminder" button_rename: "Rinomina" button_replace: "Sostituisci" button_revoke: "Revoca" @@ -1535,6 +1540,7 @@ it: button_save_as: "Salva come" button_apply_changes: "Applica modifiche" button_save_back: "Salva e ritorna" + button_set_reminder: "Set reminder" button_show: "Mostra" button_sort: "Ordina" button_submit: "Invia" @@ -1740,12 +1746,12 @@ it: direction: da sinistra a destra ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Personalizza la configurazione del modulo con le seguenti aggiunte:" add_groups: "Aggiunta di gruppi di proprietà" rename_groups: "Rinominazione di gruppi di proprietà" - project_filters: - description_html: "Le opzioni di filtraggio e ordinamento dei campi personalizzati sono disponibili nella versione Enterprise." enumeration_activities: "Attività di monitoraggio dei tempi" enumeration_work_package_priorities: "Priorità della macro-attività" enumeration_reported_project_statuses: "Stato di progetto segnalato" @@ -1778,6 +1784,7 @@ it: error_pdf_export_too_many_columns: "Troppe colonne selezionate per l'esportazione in PDF. Ridurre il numero di colonne." error_pdf_failed_to_export: "L'esportazione del PDF non può essere salvata: %{error}" error_token_authenticity: "Impossibile verificare il token di richiesta. Forse hai provato a inviare i dati da più browser o schede? Chiudi tutte le schede e riprova." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "La macro-attività non è stata trovata o non appartiene a questo progetto" error_work_package_id_not_found: "Impossibile trovare la macro-attività." error_must_be_project_member: "deve essere membro del progetto" @@ -2071,6 +2078,7 @@ it: responsible: "Responsabile" shared: "Condiviso" watched: "Osservatore" + reminder: "Reminder" facets: unread: "Non letta" unread_title: "Mostra non lette" @@ -2278,7 +2286,6 @@ it: label_enterprise_active_users: "%{current}/%{limit} utenti attivi riservati" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Supporto per Imprese" - label_enterprise_addon: "Componente aggiuntivo Enterprise" label_environment: "Ambiente" label_estimates_and_progress: "Stime e progressi" label_equals: "è" @@ -2627,6 +2634,7 @@ it: label_this_month: "questo mese" label_this_week: "questa settimana" label_this_year: "questo anno" + label_time: "Time" label_time_entry_plural: "Tempo speso" label_time_entry_activity_plural: "Attività che richiedono tempo" label_title: "Titolo" @@ -3779,6 +3787,12 @@ it: edit_description: "Può visu" view: "Visualizzare" view_description: "Può visualizzare questa macro-attività." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 utenti" diff --git a/config/locales/crowdin/ja.yml b/config/locales/crowdin/ja.yml index b58852ea42b8..972607eeab96 100644 --- a/config/locales/crowdin/ja.yml +++ b/config/locales/crowdin/ja.yml @@ -843,6 +843,9 @@ ja: lag: "Lag" from: "ワーク パッケージ" to: "関係するワークパッケージ" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1411,6 +1414,7 @@ ja: login: "ユーザー名" mail: "電子メールアドレス" name: "名称" + note: "Note" password: "パスワード" priority: "優先度" project: "プロジェクト" @@ -1507,6 +1511,7 @@ ja: button_print: "印刷" button_quote: "引用" button_remove: 削除 + button_remove_reminder: "Remove reminder" button_rename: "名称変更" button_replace: "置き換え" button_revoke: "取り消し" @@ -1517,6 +1522,7 @@ ja: button_save_as: "名前をつけて保存" button_apply_changes: "Apply changes" button_save_back: "保存して戻る" + button_set_reminder: "Set reminder" button_show: "表示" button_sort: "並べ替え" button_submit: "適用" @@ -1704,12 +1710,12 @@ ja: direction: 左から右 ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "これらの追加機能でフォームの設定をカスタマイズします:" add_groups: "新しい属性グループを追加" rename_groups: "属性グループの名前を変更" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "タイムトラッキングアクティビティ" enumeration_work_package_priorities: "ワークパッケージの優先度" enumeration_reported_project_statuses: "報告されるプロジェクト進捗状況" @@ -1742,6 +1748,7 @@ ja: error_pdf_export_too_many_columns: "PDF エクスポート用に選択された列が多すぎます。 列の数を減らしてください。" error_pdf_failed_to_export: "PDFエクスポートを保存できませんでした: %{error}" error_token_authenticity: "クロスサイトリクエスト偽造トークンを確認できません。 複数のブラウザやタブでデータを送信しようとしましたか? すべてのタブを閉じてもう一度やり直してください。" + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "ワークパッケージが見つからないか、このプロジェクトに属していません。" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "プロジェクトのメンバーである必要があります。" @@ -2035,6 +2042,7 @@ ja: responsible: "責任者" shared: "Shared" watched: "ウォッチャー" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2242,7 +2250,6 @@ ja: label_enterprise_active_users: "%{current}/%{limit} 予約済みのアクティブユーザー" label_enterprise_edition: "エンタープライズ版" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "環境" label_estimates_and_progress: "Estimates and progress" label_equals: "等しい" @@ -2591,6 +2598,7 @@ ja: label_this_month: "今月" label_this_week: "今週" label_this_year: "今年" + label_time: "Time" label_time_entry_plural: "作業時間の記録" label_time_entry_activity_plural: "Spent time activities" label_title: "タイトル" @@ -3739,6 +3747,12 @@ ja: edit_description: "Can view, comment and edit this work package." view: "表示" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/js-af.yml b/config/locales/crowdin/js-af.yml index 7fd6e036bf10..aee75fb4981b 100644 --- a/config/locales/crowdin/js-af.yml +++ b/config/locales/crowdin/js-af.yml @@ -654,6 +654,8 @@ af: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ af: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-ar.yml b/config/locales/crowdin/js-ar.yml index 0408453c40dd..2152b2aa895f 100644 --- a/config/locales/crowdin/js-ar.yml +++ b/config/locales/crowdin/js-ar.yml @@ -658,6 +658,8 @@ ar: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1048,6 +1050,12 @@ ar: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-az.yml b/config/locales/crowdin/js-az.yml index 3a3dd4bae062..5fb529e005d1 100644 --- a/config/locales/crowdin/js-az.yml +++ b/config/locales/crowdin/js-az.yml @@ -654,6 +654,8 @@ az: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ az: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-be.yml b/config/locales/crowdin/js-be.yml index 57cdef866995..042b76112cfb 100644 --- a/config/locales/crowdin/js-be.yml +++ b/config/locales/crowdin/js-be.yml @@ -656,6 +656,8 @@ be: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1046,6 +1048,12 @@ be: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-bg.yml b/config/locales/crowdin/js-bg.yml index 217b6240570b..8717fec8c84f 100644 --- a/config/locales/crowdin/js-bg.yml +++ b/config/locales/crowdin/js-bg.yml @@ -654,6 +654,8 @@ bg: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ bg: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Датите на този работен пакет се извеждат автоматично от неговите деца. Активирайте „Ръчно планиране“, за да зададете датите." is_switched_from_manual_to_automatic: "Датите на този работен пакет може да се наложи да бъдат преизчислени след преминаване от ръчно към автоматично планиране поради връзки с други работни пакети." diff --git a/config/locales/crowdin/js-ca.yml b/config/locales/crowdin/js-ca.yml index 6bc7e7f56a35..c332318bc09d 100644 --- a/config/locales/crowdin/js-ca.yml +++ b/config/locales/crowdin/js-ca.yml @@ -654,6 +654,8 @@ ca: new_notifications: message: "No hi ha notificacions noves" link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Pots modificar la teva configuració de notificacions per assegurar-te que mai et perds informació important.' title: "Configuració de notificacions" @@ -1044,6 +1046,12 @@ ca: not_found: "No existeix aquesta vista" duplicate_query_title: "El nom de la vista ja existeix. Canvia de totes formes?" text_no_results: "No hi ha vistes que coincideixin" + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Les dates d'aquest paquet de treball estan derivades automàticament dels seus fills. Activa la \"Planificació manual\" per canviar les dates." is_switched_from_manual_to_automatic: "Pot ser que les dates d'aquest paquet de treball no es tornin a calcular automàticament en canviar de planificació manual a automàtica a causa de les relacions amb altres paquets de treball." diff --git a/config/locales/crowdin/js-ckb-IR.yml b/config/locales/crowdin/js-ckb-IR.yml index f0487c4d7ea9..828b3083ba32 100644 --- a/config/locales/crowdin/js-ckb-IR.yml +++ b/config/locales/crowdin/js-ckb-IR.yml @@ -654,6 +654,8 @@ ckb-IR: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ ckb-IR: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-cs.yml b/config/locales/crowdin/js-cs.yml index bd211c20e2ef..a95ad32a184f 100644 --- a/config/locales/crowdin/js-cs.yml +++ b/config/locales/crowdin/js-cs.yml @@ -655,6 +655,8 @@ cs: new_notifications: message: "Máte nová oznámení." link_text: "Klikněte zde pro jejich načtení." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Můžete změnit nastavení oznámení , abyste se ujistili, že nikdy nezmeškáte důležitou aktualizaci.' title: "Nastavení oznámení" @@ -1045,6 +1047,12 @@ cs: not_found: "Neexistuje takové zobrazení" duplicate_query_title: "Název tohoto zobrazení již existuje. Chcete přesto změnit?" text_no_results: "Nebyly nalezeny žádné odpovídající zobrazení." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Data tohoto pracovního balíčku jsou automaticky odvozena od jeho dětí. Aktivujte 'Manuální plánování' pro ručné nastavení dat." is_switched_from_manual_to_automatic: "Data tohoto pracovního balíčku budou možná muset být přepočítána po přepnutí z manuálu na automatické plánování kvůli vztahům s ostatními pracovními balíčky." diff --git a/config/locales/crowdin/js-da.yml b/config/locales/crowdin/js-da.yml index 8d0c35e652ba..c69c399ff73e 100644 --- a/config/locales/crowdin/js-da.yml +++ b/config/locales/crowdin/js-da.yml @@ -653,6 +653,8 @@ da: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1043,6 +1045,12 @@ da: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-de.yml b/config/locales/crowdin/js-de.yml index e108c635a2e9..a81d21bc7697 100644 --- a/config/locales/crowdin/js-de.yml +++ b/config/locales/crowdin/js-de.yml @@ -653,6 +653,8 @@ de: new_notifications: message: "Es gibt neue Benachrichtigungen." link_text: "Hier klicken zum Aktualisieren." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Sie können Ihre Benachrichtigungseinstellungen ändern, um sicherzustellen, dass Sie keine wichtige Aktualisierung verpassen.' title: "Benachrichtigungseinstellungen" @@ -1043,6 +1045,12 @@ de: not_found: "Diese Ansicht konnte nicht gefunden werden" duplicate_query_title: "Eine Ansicht mit diesem Namen existiert bereits. Trotzdem ändern?" text_no_results: "Keine übereinstimmenden Ansichten gefunden." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Die Termine dieses Arbeitspakets werden automatisch von seinen Kindern aggregiert. Aktivieren Sie \"Manuelle Planung\", um die Termine frei zu setzen." is_switched_from_manual_to_automatic: "Die Termine dieses Arbeitspakets müssen nach dem Wechsel auf automatische Planung neu berechnet werden." diff --git a/config/locales/crowdin/js-el.yml b/config/locales/crowdin/js-el.yml index 144e3c72e0e8..547136ae70c6 100644 --- a/config/locales/crowdin/js-el.yml +++ b/config/locales/crowdin/js-el.yml @@ -653,6 +653,8 @@ el: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1043,6 +1045,12 @@ el: not_found: "Δεν υπάρχει τέτοια προβολή" duplicate_query_title: "Το όνομα αυτής της προβολής υπάρχει ήδη. Αλλαγή παρόλα αυτά;" text_no_results: "Δεν βρέθηκαν προβολές που να ταιριάζουν." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Οι ημερομηνίες αυτού του πακέτου εργασίας προκύπτουν αυτόματα από τα παιδιά του. Ενεργοποιήστε τον \"Χειροκίνητο προγραμματισμό\" για να ορίσετε τις ημερομηνίες." is_switched_from_manual_to_automatic: "Οι ημερομηνίες αυτού του πακέτου εργασίας μπορεί να χρειαστεί να υπολογιστούν εκ νέου μετά τη μετάβαση από χειροκίνητο σε αυτόματο προγραμματισμό λόγω των σχέσεων με άλλα πακέτα εργασίας." diff --git a/config/locales/crowdin/js-eo.yml b/config/locales/crowdin/js-eo.yml index b905e6be6b6b..697a1272a5aa 100644 --- a/config/locales/crowdin/js-eo.yml +++ b/config/locales/crowdin/js-eo.yml @@ -654,6 +654,8 @@ eo: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ eo: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-es.yml b/config/locales/crowdin/js-es.yml index 6e165a1f1d56..181ab2e459b7 100644 --- a/config/locales/crowdin/js-es.yml +++ b/config/locales/crowdin/js-es.yml @@ -654,6 +654,8 @@ es: new_notifications: message: "Hay nuevas notificaciones." link_text: "Haga clic aquí para cargarlas." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Puede modificar su configuración de notificaciones para asegurarse que nunca se pierda una actualización importante.' title: "Ajustes de notificación" @@ -1044,6 +1046,12 @@ es: not_found: "No existe la vista" duplicate_query_title: "El nombre de la vista ya existe. ¿Quiere cambiarlo de todos modos?" text_no_results: "No se encontraron vistas que coincidan." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Las fechas de este paquete de trabajo son deducidas automáticamente de sus sub-elementos. Active 'Programación manual' para establecer las fechas." is_switched_from_manual_to_automatic: "Las fechas de este paquete de trabajo pueden necesitar ser recalculadas después de pasar de programación manual a programación automática debido a las relaciones con otros paquetes de trabajo." diff --git a/config/locales/crowdin/js-et.yml b/config/locales/crowdin/js-et.yml index 51be9d97a36f..d00ba33c9a60 100644 --- a/config/locales/crowdin/js-et.yml +++ b/config/locales/crowdin/js-et.yml @@ -654,6 +654,8 @@ et: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ et: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-eu.yml b/config/locales/crowdin/js-eu.yml index d78dfbaac1d1..dda917b0a670 100644 --- a/config/locales/crowdin/js-eu.yml +++ b/config/locales/crowdin/js-eu.yml @@ -654,6 +654,8 @@ eu: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ eu: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-fa.yml b/config/locales/crowdin/js-fa.yml index 4630f177c66c..b964e2030cd4 100644 --- a/config/locales/crowdin/js-fa.yml +++ b/config/locales/crowdin/js-fa.yml @@ -654,6 +654,8 @@ fa: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ fa: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-fi.yml b/config/locales/crowdin/js-fi.yml index 87089c8df960..a7d4845e985d 100644 --- a/config/locales/crowdin/js-fi.yml +++ b/config/locales/crowdin/js-fi.yml @@ -654,6 +654,8 @@ fi: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ fi: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-fil.yml b/config/locales/crowdin/js-fil.yml index 065012a95b55..21184fb0fb56 100644 --- a/config/locales/crowdin/js-fil.yml +++ b/config/locales/crowdin/js-fil.yml @@ -654,6 +654,8 @@ fil: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ fil: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-fr.yml b/config/locales/crowdin/js-fr.yml index 3c1bffc7f754..2458c0dae425 100644 --- a/config/locales/crowdin/js-fr.yml +++ b/config/locales/crowdin/js-fr.yml @@ -654,6 +654,8 @@ fr: new_notifications: message: "Il y a de nouvelles notifications." link_text: "Cliquez ici pour les télécharger." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Vous pouvez modifier vos paramètres de notification pour vous assurer de ne jamais manquer une mise à jour importante.' title: "Paramètres de notifications" @@ -1044,6 +1046,12 @@ fr: not_found: "Cette vue n'existe pas" duplicate_query_title: "Le nom de cette vue existe déjà. Changer quand même ?" text_no_results: "Aucune vue correspondante n'a été trouvée." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Les dates de ce lot de travaux sont automatiquement déduites de ses enfants. Activez la « Planification manuelle » pour définir les dates." is_switched_from_manual_to_automatic: "Les dates de ce lot de travaux peuvent avoir besoin d'être recalculées après avoir passé de la planification manuelle à la planification automatique en raison de relations avec d'autres lots de travaux." diff --git a/config/locales/crowdin/js-he.yml b/config/locales/crowdin/js-he.yml index 21cbe60d7632..30b34a8824fa 100644 --- a/config/locales/crowdin/js-he.yml +++ b/config/locales/crowdin/js-he.yml @@ -656,6 +656,8 @@ he: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1046,6 +1048,12 @@ he: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-hi.yml b/config/locales/crowdin/js-hi.yml index b8f206c77fc2..f61c8dfe9442 100644 --- a/config/locales/crowdin/js-hi.yml +++ b/config/locales/crowdin/js-hi.yml @@ -654,6 +654,8 @@ hi: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ hi: not_found: "ऐसा कोई दृश्य नहीं है" duplicate_query_title: "इस दृश्य का नाम पहले से मौजूद है । वैसे भी बदल?" text_no_results: "कोई मेल खाता दृश्य नहीं मिले ।" + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-hr.yml b/config/locales/crowdin/js-hr.yml index 0583452e82b6..868028be14f1 100644 --- a/config/locales/crowdin/js-hr.yml +++ b/config/locales/crowdin/js-hr.yml @@ -655,6 +655,8 @@ hr: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1045,6 +1047,12 @@ hr: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-hu.yml b/config/locales/crowdin/js-hu.yml index b9dd5834da26..fa0565c07a67 100644 --- a/config/locales/crowdin/js-hu.yml +++ b/config/locales/crowdin/js-hu.yml @@ -654,6 +654,8 @@ hu: new_notifications: message: "Új értesítések érkeztek." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Értesítési beállítások" @@ -1044,6 +1046,12 @@ hu: not_found: "Nincs ilyen nézet" duplicate_query_title: "A nézet neve már létezik. Biztos megváltoztatod?" text_no_results: "Nem található egyező nézet" + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "A munkacsomag dátumait automatikusan levezetik a gyermekeiből. A dátumok beállításához aktiválja a „Kézi ütemezést”" is_switched_from_manual_to_automatic: "Ennek a munkacsomagnak a dátumait újra kell kalkulálni, miután a kézi üzemmódról az automatikus ütemezésre váltott, más munkacsomagokkal való kapcsolat miatt.\n" diff --git a/config/locales/crowdin/js-id.yml b/config/locales/crowdin/js-id.yml index ce560dbb0424..8bc8ce6e95ad 100644 --- a/config/locales/crowdin/js-id.yml +++ b/config/locales/crowdin/js-id.yml @@ -653,6 +653,8 @@ id: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1043,6 +1045,12 @@ id: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-it.yml b/config/locales/crowdin/js-it.yml index 7c6ebf5a06b4..3d38334d9a90 100644 --- a/config/locales/crowdin/js-it.yml +++ b/config/locales/crowdin/js-it.yml @@ -654,6 +654,8 @@ it: new_notifications: message: "Ci sono nuove notifiche." link_text: "Clicca qui per caricarli." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Puoi modificare le tue impostazioni di notifica per assicurarti di non perderti mai un aggiornamento importante.' title: "Impostazioni notifiche" @@ -1044,6 +1046,12 @@ it: not_found: "La vista non esiste" duplicate_query_title: "Il nome di questa vista è già esistente. Cambiarlo comunque?" text_no_results: "Nessuna vista corrispondente trovata." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Le date di questa macro-attività vengono automaticamente dedotte dai suoi figli. Attiva 'Programmazione manuale' per impostare le date." is_switched_from_manual_to_automatic: "Potrebbe essere necessario ricalcolare le date di questa macro-attività dopo il passaggio dalla programmazione manuale alla programmazione automatica a causa delle relazioni con altre macro-attività." diff --git a/config/locales/crowdin/js-ja.yml b/config/locales/crowdin/js-ja.yml index e267a402c9fa..850f22db3d11 100644 --- a/config/locales/crowdin/js-ja.yml +++ b/config/locales/crowdin/js-ja.yml @@ -654,6 +654,8 @@ ja: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ ja: not_found: "そのようなビューはありません" duplicate_query_title: "このビューの名前は既に存在します。 とにかく変更しますか?" text_no_results: "一致するビューは見つかりませんでした。" + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "このワークパッケージの日付は、その子から自動的に推定されます。日付を設定するには、「手動スケジューリング」を有効にします。" is_switched_from_manual_to_automatic: "他のワークパッケージとの関連により、手動スケジューリングから自動スケジューリングに切り替えた後に、このワークパッケージの日付を再計算する必要がある場合があります。" diff --git a/config/locales/crowdin/js-ka.yml b/config/locales/crowdin/js-ka.yml index 56054a9e8ed5..fe8c484b9956 100644 --- a/config/locales/crowdin/js-ka.yml +++ b/config/locales/crowdin/js-ka.yml @@ -654,6 +654,8 @@ ka: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ ka: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-kk.yml b/config/locales/crowdin/js-kk.yml index 9c566be069d5..7213234c9f86 100644 --- a/config/locales/crowdin/js-kk.yml +++ b/config/locales/crowdin/js-kk.yml @@ -654,6 +654,8 @@ kk: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ kk: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-ko.yml b/config/locales/crowdin/js-ko.yml index 994cec5e634e..fc10cca7cd79 100644 --- a/config/locales/crowdin/js-ko.yml +++ b/config/locales/crowdin/js-ko.yml @@ -653,6 +653,8 @@ ko: new_notifications: message: "새 알림이 있습니다." link_text: "로드하려면 여기를 클릭하세요." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: '중요 업데이트를 놓치지 않도록 알림 설정을 수정할 수 있습니다.' title: "알림 설정" @@ -1043,6 +1045,12 @@ ko: not_found: "해당 보기가 없습니다." duplicate_query_title: "이 보기의 이름이 이미 존재합니다. 그래도 변경하시겠습니까?" text_no_results: "일치하는 보기가 없습니다." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "이 작업 패키지의 날짜는 자식으로부터 자동으로 추정됩니다. '수동 스케줄링'을 활성화하여 날짜를 설정할 수 있습니다." is_switched_from_manual_to_automatic: "다른 작업 패키지와의 관계로 인해 수동 스케줄링에서 자동 스케줄링으로 전환한 후 이 작업 패키지의 날짜를 다시 계산해야 할 수 있습니다." diff --git a/config/locales/crowdin/js-lt.yml b/config/locales/crowdin/js-lt.yml index 5171ed37fd4f..5dfbd388faa3 100644 --- a/config/locales/crowdin/js-lt.yml +++ b/config/locales/crowdin/js-lt.yml @@ -656,6 +656,8 @@ lt: new_notifications: message: "Yra naujų pranešimų." link_text: "Spauskite čia, kad juos įkeltumėte." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Jūs galite keisti savo pranešimų nustatymus, kad užtikrintumėte, jog niekada nepraleisite svarbaus atnaujinimo.' title: "Pranešimų nustatymai" @@ -1046,6 +1048,12 @@ lt: not_found: "Nėra tokio vaizdo" duplicate_query_title: "Toks vaizdo vardas jau yra. Vis tiek keisti?" text_no_results: "Atitinkančių vaizdų nerasta." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Šio darbų paketo datos yra automatiškai nustatomos pagal jo vaikų datas. Norėdami nustatyti kitokias datas įjunkite „Rankinį tvarkaraščio parinkimą“" is_switched_from_manual_to_automatic: "Po perjungimo iš rankinio į automatinį tvarkaraščio parinkimą, šio darbų paketo datas gali reikėti perskaičiuoti, nes yra sąryšių su kitais darbų paketais." diff --git a/config/locales/crowdin/js-lv.yml b/config/locales/crowdin/js-lv.yml index 170eccb67c8a..273720bebd06 100644 --- a/config/locales/crowdin/js-lv.yml +++ b/config/locales/crowdin/js-lv.yml @@ -655,6 +655,8 @@ lv: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1045,6 +1047,12 @@ lv: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-mn.yml b/config/locales/crowdin/js-mn.yml index 0366ebb0c55b..0762e4161108 100644 --- a/config/locales/crowdin/js-mn.yml +++ b/config/locales/crowdin/js-mn.yml @@ -654,6 +654,8 @@ mn: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ mn: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-ms.yml b/config/locales/crowdin/js-ms.yml index 8f1b40598f61..71a37a82e4e7 100644 --- a/config/locales/crowdin/js-ms.yml +++ b/config/locales/crowdin/js-ms.yml @@ -653,6 +653,8 @@ ms: new_notifications: message: "Terdapat pemberitahuan baharu." link_text: "Klik sini untuk memuatkan mereka." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Anda boleh mengubah suai tetapan pemberitahuan anda untuk memastikan anda tidak terlepas tarikh yang penting.' title: "Tetapan pemberitahuan" @@ -1043,6 +1045,12 @@ ms: not_found: "Tiada paparan seperti itu" duplicate_query_title: "Nama paparan ini sudah wujud. Tukar juga?" text_no_results: "Tiada paparan yang sepadan ditemui." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Tarikh pakej kerja ini disimpulkan secara automatik dari anaknya. Aktifkan 'Penjadualan Manual' untuk tetapkan tarikh." is_switched_from_manual_to_automatic: "Tarikh pakej kerja ini mungkin perlu dikira semula selepas menukar dari penjadualan manual ke automatik kerana hubungan dengan pakej kerja lain." diff --git a/config/locales/crowdin/js-ne.yml b/config/locales/crowdin/js-ne.yml index 955b4551aa99..3d7baf4299d5 100644 --- a/config/locales/crowdin/js-ne.yml +++ b/config/locales/crowdin/js-ne.yml @@ -654,6 +654,8 @@ ne: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ ne: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-nl.yml b/config/locales/crowdin/js-nl.yml index 0d8ecf544b6a..bb06d79e54b7 100644 --- a/config/locales/crowdin/js-nl.yml +++ b/config/locales/crowdin/js-nl.yml @@ -654,6 +654,8 @@ nl: new_notifications: message: "Er zijn nieuwe meldingen." link_text: "Klik hier om ze te laden." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Instellingen voor meldingen" @@ -1044,6 +1046,12 @@ nl: not_found: "Deze weergave bestaat niet" duplicate_query_title: "Naam van deze weergave bestaat al. Toch wijzigen?" text_no_results: "Geen overeenkomende weergaven werden gevonden." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-no.yml b/config/locales/crowdin/js-no.yml index d8b9aeece342..e9b5c6980fc2 100644 --- a/config/locales/crowdin/js-no.yml +++ b/config/locales/crowdin/js-no.yml @@ -654,6 +654,8 @@ new_notifications: message: "Det finnes nye varsler." link_text: "Klikk her for å laste dem" + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Du kan endre varslingsinnstillinger for å sikre at du aldri går glipp av en viktig oppdatering.' title: "Varslingsinnstillinger" @@ -1044,6 +1046,12 @@ not_found: "Det finnes ingen slik visning." duplicate_query_title: "Navnet på denne visningen finnes allerede. Endre allikevel?" text_no_results: "Ingen samsvarende visninger ble funnet." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Datoene for denne arbeidspakken trekkes automatisk fra de underordnede. Aktiver 'Manuell planlegging' for å angi datoene." is_switched_from_manual_to_automatic: "Datoene for denne arbeidspakken må eventuelt beregnes på nytt etter å ha byttet fra manual til automatisk planlegging på grunn av relasjoner med andre arbeidspakker." diff --git a/config/locales/crowdin/js-pl.yml b/config/locales/crowdin/js-pl.yml index 84bda290c18a..ad7bda0dedd9 100644 --- a/config/locales/crowdin/js-pl.yml +++ b/config/locales/crowdin/js-pl.yml @@ -656,6 +656,8 @@ pl: new_notifications: message: "Masz nowe powiadomienia." link_text: "Kliknij tutaj, aby je załadować." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Możesz zmodyfikować ustawienia powiadomień, aby upewnić się, że nigdy nie przegapisz ważnej aktualizacji.' title: "Ustawienia powiadomień" @@ -1046,6 +1048,12 @@ pl: not_found: "Nie ma takiego widoku" duplicate_query_title: "Nazwa tego widoku już istnieje. Zmienić mimo to?" text_no_results: "Nie znaleziono żadnych pasujących widoków." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Daty tego pakietu roboczego są automatycznie odejmowane od jego elementów podrzędnych. Włącz funkcję Planowanie ręczne, aby ustawić daty." is_switched_from_manual_to_automatic: "Po przełączeniu planowania z ręcznego na automatyczne konieczne może być ponowne obliczenie dat tego pakietu roboczego ze względu na jego powiązania z innymi pakietami roboczymi." diff --git a/config/locales/crowdin/js-pt-BR.yml b/config/locales/crowdin/js-pt-BR.yml index 0d0e805d19b4..3c2be90426b7 100644 --- a/config/locales/crowdin/js-pt-BR.yml +++ b/config/locales/crowdin/js-pt-BR.yml @@ -653,6 +653,8 @@ pt-BR: new_notifications: message: "Há novas notificações." link_text: "Clique aqui para carregá-las." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Você pode modificar suas configurações de notificação para se certificar de nunca perder nenhuma atualização importante.' title: "Configurações de notificação" @@ -1043,6 +1045,12 @@ pt-BR: not_found: "Esta visão não existe" duplicate_query_title: "O nome desta visão já existe. Modificar assim mesmo?" text_no_results: "Nenhuma visão correspondente foi encontrada." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "As datas deste pacote de trabalho são deduzidas automaticamente de seus filhos. Ative o 'Planejamento manual' para definir as datas." is_switched_from_manual_to_automatic: "As datas deste pacote de trabalho podem precisar ser recalculadas após a alteração de planejamento manual para automático devido a relações com outros pacotes de trabalho." diff --git a/config/locales/crowdin/js-pt-PT.yml b/config/locales/crowdin/js-pt-PT.yml index 6171ba3ac1bb..e8a4b900feba 100644 --- a/config/locales/crowdin/js-pt-PT.yml +++ b/config/locales/crowdin/js-pt-PT.yml @@ -654,6 +654,8 @@ pt-PT: new_notifications: message: "Há novas notificações." link_text: "Clique aqui para carregá-las." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Pode modificar as suas definições de notificações para garantir que nunca perde uma atualização importante.' title: "Definições das notificações" @@ -1044,6 +1046,12 @@ pt-PT: not_found: "Não existe tal visualização" duplicate_query_title: "O nome desta visualização já existe. Mudar de qualquer forma?" text_no_results: "Não foram encontradas visualizações correspondentes." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "As datas deste pacote de trabalho são deduzidas automaticamente dos seus filhos. Ative o 'Agendamento manual' para definir as datas." is_switched_from_manual_to_automatic: "As datas deste pacote de trabalho podem precisar de ser recalculadas após mudar de agendamento manual para automático, devido a relações com outros pacotes de trabalho." diff --git a/config/locales/crowdin/js-ro.yml b/config/locales/crowdin/js-ro.yml index efc80359e78d..75c834f3eea3 100644 --- a/config/locales/crowdin/js-ro.yml +++ b/config/locales/crowdin/js-ro.yml @@ -326,7 +326,7 @@ ro: filter: noneSelection: "(nimic)" selection_mode: - notification: "Faceți click pe oricare dintre pachetele de lucru pentru a crea o legătură. Apăsați Escape pentru a anula." + notification: "Dă clic pe oricare dintre pachetele de lucru pentru a crea o legătură. Apasă Escape pentru a anula." zoom: in: "Mărire" out: "Micșorare" @@ -654,6 +654,8 @@ ro: new_notifications: message: "Există notificări noi." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Poți modifica setările de notificare pentru a te asigura că nu pierzi niciodată o actualizare importantă.' title: "Setări notificare" @@ -798,36 +800,36 @@ ro: typeahead_placeholder: Căutarea de posibili observatori relation_labels: parent: "Părinte" - children: "Fii" + children: "Copii" relates: "În relație cu" duplicates: "Dublează" duplicated: "Dublat de" blocks: "Blochează" blocked: "Blocat de" precedes: "Precede" - follows: "Urmează după" + follows: "Urmează" includes: "Include" partof: "Parte din" requires: "Necesită" required: "Cerut de" - relation_type: "tipul de relaţie" + relation_type: "tip relație" relations_hierarchy: parent_headline: "Părinte" - hierarchy_headline: "Arată ierarhia" - children_headline: "Fii" + hierarchy_headline: "Ierarhie" + children_headline: "Copii" relation_buttons: set_parent: "Setează părinte" - change_parent: "Modificare părinte" - remove_parent: "Elimina părinte" - hierarchy_indent: "Ierarhia de indentare" - hierarchy_outdent: "Ierarhie ieșită din comun" + change_parent: "Modifică părinte" + remove_parent: "Elimină părinte" + hierarchy_indent: "Indentare ierarhie" + hierarchy_outdent: "Elimină ierarhia" group_by_wp_type: "Grupează după tipul packetului de lucru" group_by_relation_type: "Grupează dupa tipul legăturii" add_parent: "Adaugă părinte existent" - add_new_child: "Crează un nou copil" - create_new: "Creați un nou" - add_existing: "Adăugați Existent" - add_existing_child: "Adaugă un copil existent" + add_new_child: "Creează copil nou" + create_new: "Creează nou" + add_existing: "Adaugă existent" + add_existing_child: "Adaugă copil existent" remove_child: "Elimină copil" add_new_relation: "Crează o nouă relație" add_existing_relation: "Adăugarea unei relații existente" @@ -837,12 +839,12 @@ ro: add_follower: "Adaugă urmăritor" show_relations: "Arată relațiile" add_predecessor: "Adăugați predecesorul" - remove: "Eliminare relaţie" + remove: "Eliminare relație" save: "Salvează relația" abort: "Anulează" relations_autocomplete: placeholder: "Tastează pentru a căuta" - parent_placeholder: "Alegeți un nou părinte sau apăsați Escape pentru a anula." + parent_placeholder: "Alege un nou părinte sau apasă Escape pentru a anula." autocompleter: placeholder: "Tastează pentru a căuta" notFoundText: "Niciun articol găsit" @@ -1044,6 +1046,12 @@ ro: not_found: "Vezi" duplicate_query_title: "Numele acestei vizualizări există deja. Să-l schimbăm oricum?" text_no_results: "Nu au fost găsite vizualizări corespunzătoare." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Datele acestui pachet de lucru sunt deduse automat din copiii săi. Activați \"Programare manuală\" pentru a stabili datele." is_switched_from_manual_to_automatic: "Este posibil ca datele acestui pachet de lucru să trebuiască să fie recalculate după trecerea de la programarea manuală la cea automată din cauza relațiilor cu alte pachete de lucru." @@ -1151,7 +1159,7 @@ ro: notice_bad_request: "Cerere invalidă." relations: empty: Nu există relații - remove: Eliminare relaţie + remove: Elimină relație inplace: button_edit: "%{attribute}: Editare" button_save: "%{attribute}: Salvează" diff --git a/config/locales/crowdin/js-ru.yml b/config/locales/crowdin/js-ru.yml index 6de785d8871c..0f6673e09815 100644 --- a/config/locales/crowdin/js-ru.yml +++ b/config/locales/crowdin/js-ru.yml @@ -655,6 +655,8 @@ ru: new_notifications: message: "Есть новые уведомления." link_text: "Нажмите здесь, чтобы загрузить их." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Измените настройки уведомлений , чтобы не пропустить важное обновление.' title: "Настройки уведомлений" @@ -697,8 +699,8 @@ ru: teaser_text: "С уведомлениями о дате вы будете уведомлены о датах начала или окончания предстоящих дат, чтобы вы никогда не пропустили или не забыли важный срок." overdue: Когда просрочено project_specific: - title: "Настройки уведомлений проекта" - description: "Эти настройки специфического проекта переопределяют параметры по умолчанию выше." + title: "Настройки уведомлений для конкретного проекта" + description: "Эти настройки для конкретного проекта переопределяют параметры по умолчанию." add: "Добавить настройку для проекта" already_selected: "Этот проект уже выбран" remove: "Удалить настройки проекта" @@ -1045,6 +1047,12 @@ ru: not_found: "Нет такого представления" duplicate_query_title: "Представление с таким именем уже существует. Менять в любом случае?" text_no_results: "Подходящие представления не найдены." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Даты этого пакета работ выводятся автоматически из дочерних пакетов работ. Используйте «Ручной планировщик», чтобы установить даты." is_switched_from_manual_to_automatic: "Даты этого пакета работ могут быть пересчитаны после переключения с ручного на автоматическое планирование из-за связей с другими пакетами работ." @@ -1324,8 +1332,8 @@ ru: last_working_day: "последний рабочий день" last_week: "прошлой недели" last_month: "прошлый месяц" - a_specific_date: "определенная дата" - between_two_specific_dates: "между двумя определенными датами" + a_specific_date: "конкретная дата" + between_two_specific_dates: "между двумя конкретными датами" legends: changes_since: "Изменения с" changes_between: "Изменения между" diff --git a/config/locales/crowdin/js-rw.yml b/config/locales/crowdin/js-rw.yml index 8aa4fa59e174..2dc0f6c46dee 100644 --- a/config/locales/crowdin/js-rw.yml +++ b/config/locales/crowdin/js-rw.yml @@ -654,6 +654,8 @@ rw: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ rw: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-si.yml b/config/locales/crowdin/js-si.yml index 949572f239fe..f6046cf8cce9 100644 --- a/config/locales/crowdin/js-si.yml +++ b/config/locales/crowdin/js-si.yml @@ -654,6 +654,8 @@ si: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ si: not_found: "එවැනි මතයක් නොමැත" duplicate_query_title: "මෙම දර්ශනයේ නම දැනටමත් පවතී. කෙසේ හෝ වෙනස් කරන්න?" text_no_results: "ගැලපෙන අදහස් කිසිවක් සොයාගත නොහැකි විය." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-sk.yml b/config/locales/crowdin/js-sk.yml index fc054217ef5b..9f59feed6c6a 100644 --- a/config/locales/crowdin/js-sk.yml +++ b/config/locales/crowdin/js-sk.yml @@ -656,6 +656,8 @@ sk: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1046,6 +1048,12 @@ sk: not_found: "Toto zobrazenie sa nepodarilo nájsť" duplicate_query_title: "Zobrazenie s týmto názvom už existuje. Napriek tomu zmeniť?" text_no_results: "Neboli nájdené žiadne zodpovedajúce zobrazenia." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-sl.yml b/config/locales/crowdin/js-sl.yml index 52b89734fac5..ec4c45615a9c 100644 --- a/config/locales/crowdin/js-sl.yml +++ b/config/locales/crowdin/js-sl.yml @@ -655,6 +655,8 @@ sl: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Nastavitve obvestil" @@ -1045,6 +1047,12 @@ sl: not_found: "Ta pogled ne obstaja" duplicate_query_title: "Ime tega pogleda že obstaja. Se vseeno spremeni?" text_no_results: "Ujemanj ni bilo najdenih." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Datumi tega delovnega paketa so samodejno ugotovljeni od njegovih podrazredov. Za nastavitev datumov aktivirajte 'Ročno razvrščanje'." is_switched_from_manual_to_automatic: "Datumi delovnega paketa se bodo lahko, da morali preračunati po menjavi iz ročnega v samodejno razvrščanje zaradi razmerij z ostalimi delovnimi paketi." diff --git a/config/locales/crowdin/js-sr.yml b/config/locales/crowdin/js-sr.yml index a30f7dd1eee5..a1fcb6be158f 100644 --- a/config/locales/crowdin/js-sr.yml +++ b/config/locales/crowdin/js-sr.yml @@ -655,6 +655,8 @@ sr: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1045,6 +1047,12 @@ sr: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-sv.yml b/config/locales/crowdin/js-sv.yml index 91257c512740..a7d96ee7e36e 100644 --- a/config/locales/crowdin/js-sv.yml +++ b/config/locales/crowdin/js-sv.yml @@ -653,6 +653,8 @@ sv: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1043,6 +1045,12 @@ sv: not_found: "Det finns ingen sådan vy" duplicate_query_title: "Namnet på denna vy finns redan. Ändra ändå?" text_no_results: "Inga matchande vyer hittades." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-th.yml b/config/locales/crowdin/js-th.yml index 1de2400f0e65..b3cbae15ded4 100644 --- a/config/locales/crowdin/js-th.yml +++ b/config/locales/crowdin/js-th.yml @@ -653,6 +653,8 @@ th: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1043,6 +1045,12 @@ th: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-tr.yml b/config/locales/crowdin/js-tr.yml index a21de40e9755..640606a5a619 100644 --- a/config/locales/crowdin/js-tr.yml +++ b/config/locales/crowdin/js-tr.yml @@ -653,6 +653,8 @@ tr: new_notifications: message: "Yeni bildirimler var" link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Önemli bir güncellemeyi asla kaçırmamak için bildirim ayarlarınızı değiştirebilirsiniz.' title: "Bildirim ayarları" @@ -1043,6 +1045,12 @@ tr: not_found: "Böyle bir görünüm bulunmamakta" duplicate_query_title: "Bu isimde bir görünüm var. Yinede devam edilsin mi?" text_no_results: "Eşleşen görünüm bulunamadı." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Bu çalışma paketinin tarihleri otomatik olarak çocuklarından çıkarılır. Tarihleri ayarlamak için 'Manuel zamanlama'yı etkinleştirin." is_switched_from_manual_to_automatic: "Bu çalışma paketinin tarihlerinin, diğer çalışma paketleriyle olan ilişkiler nedeniyle manuelden otomatik zamanlamaya geçtikten sonra yeniden hesaplanması gerekebilir." diff --git a/config/locales/crowdin/js-uk.yml b/config/locales/crowdin/js-uk.yml index 7b903b95cfdf..4492998ceef0 100644 --- a/config/locales/crowdin/js-uk.yml +++ b/config/locales/crowdin/js-uk.yml @@ -656,6 +656,8 @@ uk: new_notifications: message: "Немає нових сповіщень." link_text: "Натисніть тут, щоб завантажити." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Ви можете змінити налаштування сповіщень, щоб ніколи не пропускати важливі оновлення.' title: "Налаштування сповіщень" @@ -1046,6 +1048,12 @@ uk: not_found: "Такого погляду немає" duplicate_query_title: "Ім'я цього перегляду вже існує. Змінити все одно?" text_no_results: "Не знайдено відповідних переглядів." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Дати цього пакета робіт автоматично виводяться з його дочірніх елементів. Активуйте «Ручне планування», щоб установити ці дати." is_switched_from_manual_to_automatic: "Можливо, дати цього пакета робіт знадобиться перерахувати після переходу з ручного на автоматичне планування через зв’язок з іншими пакетами робіт." diff --git a/config/locales/crowdin/js-uz.yml b/config/locales/crowdin/js-uz.yml index e325531bcd08..033c3bd5bcf7 100644 --- a/config/locales/crowdin/js-uz.yml +++ b/config/locales/crowdin/js-uz.yml @@ -654,6 +654,8 @@ uz: new_notifications: message: "There are new notifications." link_text: "Click here to load them." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -1044,6 +1046,12 @@ uz: not_found: "There is no such view" duplicate_query_title: "Name of this view already exists. Change anyway?" text_no_results: "No matching views were found." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." diff --git a/config/locales/crowdin/js-vi.yml b/config/locales/crowdin/js-vi.yml index 8ade428d7d10..8e82b9e4f409 100644 --- a/config/locales/crowdin/js-vi.yml +++ b/config/locales/crowdin/js-vi.yml @@ -653,6 +653,8 @@ vi: new_notifications: message: "Có thông báo mới." link_text: "Nhấp vào đây để tải chúng." + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: 'Bạn có thể thay đổi cài đặt thông báo của mình để đảm bảo không bỏ lỡ cập nhật quan trọng nào.' title: "Cài đặt thông báo" @@ -1043,6 +1045,12 @@ vi: not_found: "Không có chế độ xem như vậy" duplicate_query_title: "Tên của chế độ xem này đã tồn tại. Thay đổi bất chấp?" text_no_results: "Không tìm thấy chế độ xem phù hợp." + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "Ngày của gói công việc này được suy ra tự động từ các con của nó. Kích hoạt 'Lên lịch thủ công' để đặt ngày." is_switched_from_manual_to_automatic: "Ngày của gói công việc này có thể cần phải được tính toán lại sau khi chuyển từ lên lịch thủ công sang tự động do mối quan hệ với các gói công việc khác." diff --git a/config/locales/crowdin/js-zh-CN.yml b/config/locales/crowdin/js-zh-CN.yml index c8ab6f352bd9..58cfe31de32d 100644 --- a/config/locales/crowdin/js-zh-CN.yml +++ b/config/locales/crowdin/js-zh-CN.yml @@ -652,6 +652,8 @@ zh-CN: new_notifications: message: "有新的通知。" link_text: "点击此处加载。" + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: '您可以修改您的通知设置,以确保您不会错过重要的更新。' title: "通知设置" @@ -1042,6 +1044,12 @@ zh-CN: not_found: "无此视图" duplicate_query_title: "此视图的名称已存在。仍要更改?" text_no_results: "未找到匹配的视图。" + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "此工作包的日期会自动从其子项推导出。可激活“手动计划”来设置日期。" is_switched_from_manual_to_automatic: "由于与其他工作包的关系,在从手动计划切换为自动计划后,此工作包的日期可能需要重新计算。" diff --git a/config/locales/crowdin/js-zh-TW.yml b/config/locales/crowdin/js-zh-TW.yml index 8c004948167c..03c2a146699d 100644 --- a/config/locales/crowdin/js-zh-TW.yml +++ b/config/locales/crowdin/js-zh-TW.yml @@ -651,6 +651,8 @@ zh-TW: new_notifications: message: "您有新的通知" link_text: "點擊此處加載。" + reminders: + note: "Note: “%{note}”" settings: change_notification_settings: '您可以修改 通知設定,以確保您不會錯過重要更新。' title: "通知設定" @@ -1041,6 +1043,12 @@ zh-TW: not_found: "無此查詢" duplicate_query_title: "此版面的名稱已存在。確定改變?" text_no_results: "找不到符合的版面。" + reminders: + button_label: "Set reminder" + title: + new: "Set reminder" + edit: "Edit reminder" + subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "此工作包的日期會自動從其子項推導出。可啟用“手動計劃”來設置日期。" is_switched_from_manual_to_automatic: "由於與其他工作包的關係,在從手動計劃切換為自動計劃後,此工作包的日期可能需要重新計算。" diff --git a/config/locales/crowdin/ka.yml b/config/locales/crowdin/ka.yml index 021c2975d201..8097fff82620 100644 --- a/config/locales/crowdin/ka.yml +++ b/config/locales/crowdin/ka.yml @@ -855,6 +855,9 @@ ka: lag: "Lag" from: "სამუშაო პაკეტი" to: "Related work package" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1433,6 +1436,7 @@ ka: login: "მომხმარებლის სახელი" mail: "ელფოსტა" name: "სახელი" + note: "Note" password: "პაროლი" priority: "პრიორიტეტი" project: "პროექტი" @@ -1529,6 +1533,7 @@ ka: button_print: "ბეჭდვა" button_quote: "ციტატა" button_remove: წაშლა + button_remove_reminder: "Remove reminder" button_rename: "გადარქმევა" button_replace: "ჩანაცვლება" button_revoke: "გაუქმება" @@ -1539,6 +1544,7 @@ ka: button_save_as: "შენახვა, როგორც" button_apply_changes: "ცვლილებების გადატარება" button_save_back: "შენახვა და დაბრუნება" + button_set_reminder: "Set reminder" button_show: "ჩვენება" button_sort: "დალაგება" button_submit: "გადაცემა" @@ -1744,12 +1750,12 @@ ka: direction: მარცხნიდან ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1782,6 +1788,7 @@ ka: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "must be project member" @@ -2075,6 +2082,7 @@ ka: responsible: "ანგარიშვალდებული" shared: "გაზიარებული" watched: "მეთვალყურე" + reminder: "Reminder" facets: unread: "წაუკითხავი" unread_title: "წაუკითხავის ჩვენება" @@ -2282,7 +2290,6 @@ ka: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "გარემო" label_estimates_and_progress: "Estimates and progress" label_equals: "არის" @@ -2631,6 +2638,7 @@ ka: label_this_month: "ეს თვე" label_this_week: "ამ კვირაში " label_this_year: "ამ წელში" + label_time: "Time" label_time_entry_plural: "დახარჯული დრო" label_time_entry_activity_plural: "Spent time activities" label_title: "სათაური" @@ -3783,6 +3791,12 @@ ka: edit_description: "Can view, comment and edit this work package." view: "ხედი" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 მომხმარებელი" diff --git a/config/locales/crowdin/kk.yml b/config/locales/crowdin/kk.yml index 259df98aed72..650c06210754 100644 --- a/config/locales/crowdin/kk.yml +++ b/config/locales/crowdin/kk.yml @@ -855,6 +855,9 @@ kk: lag: "Lag" from: "Work package" to: "Related work package" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1433,6 +1436,7 @@ kk: login: "Username" mail: "Email" name: "Name" + note: "Note" password: "Password" priority: "Priority" project: "Project" @@ -1529,6 +1533,7 @@ kk: button_print: "Print" button_quote: "Quote" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "Rename" button_replace: "Replace" button_revoke: "Revoke" @@ -1539,6 +1544,7 @@ kk: button_save_as: "Save as" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "Show" button_sort: "Sort" button_submit: "Submit" @@ -1744,12 +1750,12 @@ kk: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1782,6 +1788,7 @@ kk: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "must be project member" @@ -2075,6 +2082,7 @@ kk: responsible: "Accountable" shared: "Shared" watched: "Watcher" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ kk: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2631,6 +2638,7 @@ kk: label_this_month: "this month" label_this_week: "this week" label_this_year: "this year" + label_time: "Time" label_time_entry_plural: "Spent time" label_time_entry_activity_plural: "Spent time activities" label_title: "Title" @@ -3783,6 +3791,12 @@ kk: edit_description: "Can view, comment and edit this work package." view: "View" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/ko.yml b/config/locales/crowdin/ko.yml index 6845f3b3c7c0..1bfe2fab834f 100644 --- a/config/locales/crowdin/ko.yml +++ b/config/locales/crowdin/ko.yml @@ -846,6 +846,9 @@ ko: lag: "지연" from: "작업 패키지" to: "관련 패키지" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "주소" role: @@ -1414,6 +1417,7 @@ ko: login: "사용자 이름" mail: "이메일" name: "이름" + note: "Note" password: "암호" priority: "우선 순위" project: "프로젝트" @@ -1510,6 +1514,7 @@ ko: button_print: "인쇄" button_quote: "인용" button_remove: 제거 + button_remove_reminder: "Remove reminder" button_rename: "이름 바꾸기" button_replace: "교체하기" button_revoke: "취소" @@ -1520,6 +1525,7 @@ ko: button_save_as: "다른 이름으로 저장" button_apply_changes: "변경 사항 적용" button_save_back: "저장하고 돌아가기" + button_set_reminder: "Set reminder" button_show: "표시" button_sort: "분류" button_submit: "제출" @@ -1707,12 +1713,12 @@ ko: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "다음과 같은 기타 추가 기능으로 양식 구성을 사용자 지정하세요." add_groups: "새로운 특성 그룹 추가" rename_groups: "특성 그룹 이름 바꾸기" - project_filters: - description_html: "사용자 지정 필드의 필터링 및 정렬은 Enterprise Edition의 추가 기능입니다." enumeration_activities: "시간 추적 활동" enumeration_work_package_priorities: "작업 패키지 우선 순위" enumeration_reported_project_statuses: "보고된 프로젝트 상태" @@ -1745,6 +1751,7 @@ ko: error_pdf_export_too_many_columns: "PDF 내보내기에 대해 너무 많은 열을 선택했습니다. 열 수를 줄이십시오." error_pdf_failed_to_export: "PDF 내보내기를 저장할 수 없습니다: %{error}" error_token_authenticity: "교차 사이트 요청 위조 토큰을 확인할 수 없습니다. 여러 브라우저나 탭에서 데이터 제출을 시도하셨습니까? 모든 탭을 닫고 다시 시도하세요." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "작업 패키지가 없거나 이 프로젝트에 속하지 않습니다." error_work_package_id_not_found: "작업 패키지를 찾을 수 없습니다." error_must_be_project_member: "은(는) 프로젝트 멤버여야 합니다." @@ -2038,6 +2045,7 @@ ko: responsible: "담당" shared: "공유됨" watched: "주시자" + reminder: "Reminder" facets: unread: "읽지 않음" unread_title: "읽지 않은 항목 표시" @@ -2245,7 +2253,6 @@ ko: label_enterprise_active_users: "예약 활성 사용자 %{current}/%{limit}명" label_enterprise_edition: "Enterprise Edition" label_enterprise_support: "엔터프라이즈 지원" - label_enterprise_addon: "Enterprise 추가 기능" label_environment: "환경" label_estimates_and_progress: "견적 및 진행률" label_equals: "일치함" @@ -2594,6 +2601,7 @@ ko: label_this_month: "이번 달" label_this_week: "이번 주" label_this_year: "올해" + label_time: "Time" label_time_entry_plural: "소비한 시간" label_time_entry_activity_plural: "소요 시간 활동" label_title: "제목" @@ -3740,6 +3748,12 @@ ko: edit_description: "이 작업 패키지 보기, 코멘트 작성 및 편집을 할 수 있습니다." view: "보기" view_description: "이 작업 패키지를 볼 수 있습니다." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "사용자 0명" diff --git a/config/locales/crowdin/lt.yml b/config/locales/crowdin/lt.yml index b224abbb9be0..e9b2ebf5254f 100644 --- a/config/locales/crowdin/lt.yml +++ b/config/locales/crowdin/lt.yml @@ -868,6 +868,9 @@ lt: lag: "Vėlavimas" from: "Darbų paketas" to: "Susijusių darbų paketas" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1466,6 +1469,7 @@ lt: login: "Naudotojas" mail: "El. paštas" name: "Vardas" + note: "Note" password: "Slaptažodis" priority: "Pirmenybė" project: "Projektas" @@ -1562,6 +1566,7 @@ lt: button_print: "Spausdinti" button_quote: "Cituoti" button_remove: Pašalinti + button_remove_reminder: "Remove reminder" button_rename: "Pervardinti" button_replace: "Pakeisti" button_revoke: "Atšaukti" @@ -1572,6 +1577,7 @@ lt: button_save_as: "Įrašyti kaip" button_apply_changes: "Pritaikyti pakeitimus" button_save_back: "Įrašyti ir grįžti atgal" + button_set_reminder: "Set reminder" button_show: "Rodyti" button_sort: "Rūšiuoti" button_submit: "Siųsti" @@ -1813,12 +1819,12 @@ lt: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Pritaikyti sau formos konfigūraciją su šiais naujais priedais:" add_groups: "Pridėti naujas atributų grupes" rename_groups: "Pervadinti atributų grupes" - project_filters: - description_html: "Filtravimas ir rikiavimas pagal pritaikytus laukus yra tik Enterprise versijos priedas." enumeration_activities: "Laiko sekimo veiklos" enumeration_work_package_priorities: "Darbų paketo prioritetai" enumeration_reported_project_statuses: "Pranešta projekto būsena" @@ -1851,6 +1857,7 @@ lt: error_pdf_export_too_many_columns: "PDF eksportavimui pasirinkta per daug stulpelių. Prašome sumažinti stulpelių skaičių." error_pdf_failed_to_export: "PDF eksportas negali būti išsaugotas: %{error}" error_token_authenticity: "Neįmanoma patikrinti Cross-Site Request Forgery žetono. Gal bandėte nusiųsti duomenis iš kelių naršyklių ar kortelių? Prašome uždaryti visas korteles ir pabandyti dar kartą." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Darbų paketas nerastas arba nepriklauso šiam projektui" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "turi būti projekto narys" @@ -2144,6 +2151,7 @@ lt: responsible: "Atsakingas" shared: "Bendrinta" watched: "Stebėtojas" + reminder: "Reminder" facets: unread: "Neskaitytas" unread_title: "Rodyti neperskaitytus" @@ -2351,7 +2359,6 @@ lt: label_enterprise_active_users: "%{current}/%{limit} aktyviai naudojami naudotojai" label_enterprise_edition: "Enterprise versija" label_enterprise_support: "„Enterprise“ palaikymas" - label_enterprise_addon: "Enterprise priedas" label_environment: "Aplinka" label_estimates_and_progress: "Įvertinimai ir eiga" label_equals: "yra" @@ -2700,6 +2707,7 @@ lt: label_this_month: "šis mėnuo" label_this_week: "ši savaitė" label_this_year: "šiemet" + label_time: "Time" label_time_entry_plural: "Praleista laiko" label_time_entry_activity_plural: "Praleisto laiko veiklos" label_title: "Pavadinimas" @@ -3854,6 +3862,12 @@ lt: edit_description: "Gali žiūrėti, komentuoti ir keisti šį darbo paketą." view: "Peržiūrėti" view_description: "Gali žiūrėti šį darbo paketą." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 naudotojų" diff --git a/config/locales/crowdin/lv.yml b/config/locales/crowdin/lv.yml index 4da29205c39e..9da54c6a3d55 100644 --- a/config/locales/crowdin/lv.yml +++ b/config/locales/crowdin/lv.yml @@ -863,6 +863,9 @@ lv: lag: "Lag" from: "Darba pieteikums" to: "Saistītie pieteikuma tipi" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1451,6 +1454,7 @@ lv: login: "Username" mail: "E-Pasts" name: "Nosaukums" + note: "Note" password: "Parole" priority: "Prioritāte" project: "Projekts" @@ -1547,6 +1551,7 @@ lv: button_print: "Drukāt" button_quote: "Citēt" button_remove: Noņemt + button_remove_reminder: "Remove reminder" button_rename: "Rename" button_replace: "Replace" button_revoke: "Revoke" @@ -1557,6 +1562,7 @@ lv: button_save_as: "Saglabāt kā" button_apply_changes: "Apply changes" button_save_back: "Saglabāt un atpakaļ" + button_set_reminder: "Set reminder" button_show: "Rādīt" button_sort: "Sort" button_submit: "Publicēt" @@ -1780,12 +1786,12 @@ lv: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Pieteikumu prioritātes" enumeration_reported_project_statuses: "Reported project status" @@ -1818,6 +1824,7 @@ lv: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "must be project member" @@ -2111,6 +2118,7 @@ lv: responsible: "Accountable" shared: "Shared" watched: "Sekotājs" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2318,7 +2326,6 @@ lv: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2667,6 +2674,7 @@ lv: label_this_month: "this month" label_this_week: "this week" label_this_year: "this year" + label_time: "Time" label_time_entry_plural: "Pavadīts laiks" label_time_entry_activity_plural: "Spent time activities" label_title: "Virsraksts" @@ -3822,6 +3830,12 @@ lv: edit_description: "Can view, comment and edit this work package." view: "View" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/mn.yml b/config/locales/crowdin/mn.yml index 9fe932bf067e..f59d2b7c8434 100644 --- a/config/locales/crowdin/mn.yml +++ b/config/locales/crowdin/mn.yml @@ -855,6 +855,9 @@ mn: lag: "Lag" from: "Work package" to: "Related work package" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1433,6 +1436,7 @@ mn: login: "Username" mail: "Email" name: "Name" + note: "Note" password: "Password" priority: "Priority" project: "Project" @@ -1529,6 +1533,7 @@ mn: button_print: "Print" button_quote: "Quote" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "Rename" button_replace: "Replace" button_revoke: "Revoke" @@ -1539,6 +1544,7 @@ mn: button_save_as: "Save as" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "Show" button_sort: "Sort" button_submit: "Submit" @@ -1744,12 +1750,12 @@ mn: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1782,6 +1788,7 @@ mn: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "must be project member" @@ -2075,6 +2082,7 @@ mn: responsible: "Accountable" shared: "Shared" watched: "Watcher" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ mn: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2631,6 +2638,7 @@ mn: label_this_month: "this month" label_this_week: "this week" label_this_year: "this year" + label_time: "Time" label_time_entry_plural: "Spent time" label_time_entry_activity_plural: "Spent time activities" label_title: "Title" @@ -3783,6 +3791,12 @@ mn: edit_description: "Can view, comment and edit this work package." view: "View" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/ms.yml b/config/locales/crowdin/ms.yml index c754c5b9c5cf..a58047184913 100644 --- a/config/locales/crowdin/ms.yml +++ b/config/locales/crowdin/ms.yml @@ -845,6 +845,9 @@ ms: lag: "Lag" from: "Pakej kerja" to: "Pakej kerja yang berkaitan" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1413,6 +1416,7 @@ ms: login: "Nama pengguna" mail: "E-mel" name: "Nama" + note: "Note" password: "Kata Laluan" priority: "Keutamaan" project: "Projek" @@ -1509,6 +1513,7 @@ ms: button_print: "Cetak" button_quote: "Petikan" button_remove: Keluarkan + button_remove_reminder: "Remove reminder" button_rename: "Namakan semula" button_replace: "Ganti" button_revoke: "Batalkan" @@ -1519,6 +1524,7 @@ ms: button_save_as: "Simpan sebagai" button_apply_changes: "Guna pakai perubahan" button_save_back: "Simpan dan kembali" + button_set_reminder: "Set reminder" button_show: "Paparkan" button_sort: "Susun" button_submit: "Hantar" @@ -1706,12 +1712,12 @@ ms: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Menyuaikan borang konfigurasi dengan segala jenis tambahan ini:" add_groups: "Tambah kumpulan atribut baharu" rename_groups: "Nama semula kumpulan atribut" - project_filters: - description_html: "Menyaring dan menyusun ruang tersuai adalah tambahan edisi Enterprise." enumeration_activities: "Aktiviti penjejakan masa" enumeration_work_package_priorities: "Keutamaan pakej kerja" enumeration_reported_project_statuses: "Status projek yang dilaporkan" @@ -1744,6 +1750,7 @@ ms: error_pdf_export_too_many_columns: "Terlalu banyak kolum dipilih untuk eksport PDF. Sila kurangkan bilangan kolum." error_pdf_failed_to_export: "Eksport PDF tidak dapat disimpan: %{error}" error_token_authenticity: "Tidak dapat mengesahkan token Cross-Site Request Forgery. Adakah anda sedang mencuba untuk menghantar data di pelbagai pelayar atau tab? Sila tutup semua tab dan cuba lagi." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Pakej kerja tidak ditemui atau tidak tergolong dalam projek ini" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "perlu menjadi ahli projek" @@ -2037,6 +2044,7 @@ ms: responsible: "Bertanggungjawab" shared: "Telah dikongsi" watched: "Pemerhati" + reminder: "Reminder" facets: unread: "Belum dibaca" unread_title: "Paparkan yang belum dibaca" @@ -2244,7 +2252,6 @@ ms: label_enterprise_active_users: "%{current}/%{limit} pengguna aktif yang ditempah" label_enterprise_edition: "Edisi Enterprise" label_enterprise_support: "sokongan Enterprise" - label_enterprise_addon: "Tambahan Enterprise" label_environment: "Persekitaran" label_estimates_and_progress: "Anggaran dan perkembangan" label_equals: "ialah" @@ -2593,6 +2600,7 @@ ms: label_this_month: "bulan ini" label_this_week: "minggu ini" label_this_year: "tahun ini" + label_time: "Time" label_time_entry_plural: "Masa yang dihabiskan" label_time_entry_activity_plural: "Aktiviti masa yang diluangkan" label_title: "Tajuk" @@ -3741,6 +3749,12 @@ ms: edit_description: "Boleh lihat, komen dan edit pakej kerja ini." view: "Lihat" view_description: "Boleh papar pakej kerja ini." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 pengguna" diff --git a/config/locales/crowdin/ne.yml b/config/locales/crowdin/ne.yml index b28ffc200732..1b387bc28a35 100644 --- a/config/locales/crowdin/ne.yml +++ b/config/locales/crowdin/ne.yml @@ -855,6 +855,9 @@ ne: lag: "Lag" from: "Work package" to: "Related work package" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1433,6 +1436,7 @@ ne: login: "Username" mail: "Email" name: "Name" + note: "Note" password: "Password" priority: "Priority" project: "Project" @@ -1529,6 +1533,7 @@ ne: button_print: "Print" button_quote: "Quote" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "Rename" button_replace: "Replace" button_revoke: "रद्द गर्नुहोस्" @@ -1539,6 +1544,7 @@ ne: button_save_as: "Save as" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "Show" button_sort: "Sort" button_submit: "Submit" @@ -1744,12 +1750,12 @@ ne: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "समय ट्र्याकिंग गतिविधिहरू" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1782,6 +1788,7 @@ ne: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "must be project member" @@ -2075,6 +2082,7 @@ ne: responsible: "Accountable" shared: "Shared" watched: "Watcher" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ ne: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2631,6 +2638,7 @@ ne: label_this_month: "this month" label_this_week: "this week" label_this_year: "this year" + label_time: "Time" label_time_entry_plural: "Spent time" label_time_entry_activity_plural: "Spent time activities" label_title: "Title" @@ -3783,6 +3791,12 @@ ne: edit_description: "Can view, comment and edit this work package." view: "View" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/nl.yml b/config/locales/crowdin/nl.yml index d42475166a69..ee056e70a846 100644 --- a/config/locales/crowdin/nl.yml +++ b/config/locales/crowdin/nl.yml @@ -852,6 +852,9 @@ nl: lag: "Vertraging" from: "Werkpakket" to: "Verwante werkpakket" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1430,6 +1433,7 @@ nl: login: "Gebruikersnaam" mail: "E-mail" name: "Naam" + note: "Note" password: "Wachtwoord" priority: "Prioriteit" project: "Project" @@ -1526,6 +1530,7 @@ nl: button_print: "Afdrukken" button_quote: "Citeer" button_remove: Verwijder + button_remove_reminder: "Remove reminder" button_rename: "Naam wijzigen" button_replace: "Vervang" button_revoke: "Intrekken" @@ -1536,6 +1541,7 @@ nl: button_save_as: "Opslaan als" button_apply_changes: "Veranderingen doorvoeren" button_save_back: "Opslaan en terug" + button_set_reminder: "Set reminder" button_show: "Toon" button_sort: "Sorteren" button_submit: "Verzenden" @@ -1741,12 +1747,12 @@ nl: direction: LTR ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Toevoegen van nieuwe attribuutgroepen" rename_groups: "Attribuutgroepen hernoemen" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Activiteiten voor het bijhouden van tijd" enumeration_work_package_priorities: "Werkpakket prioriteiten" enumeration_reported_project_statuses: "Gerapporteerde projectstatus" @@ -1779,6 +1785,7 @@ nl: error_pdf_export_too_many_columns: "Te veel kolommen geselecteerd voor het exporteren naar PDF. Beperk het aantal kolommen." error_pdf_failed_to_export: "De pdf export kan niet worden opgeslagen:%{error}" error_token_authenticity: "Niet in staat om de Cross-Site Request Forgery token te valideren. Heeft u geprobeert gegevens op meerdere browsers of tabbladen wilt indienen? Sluit alle tabbladen en probeer het opnieuw." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Het werkpakket werd niet gevonden of maakt geen deel uit van dit project" error_work_package_id_not_found: "Het werkpakket is niet gevonden." error_must_be_project_member: "moet een project lid zijn" @@ -2072,6 +2079,7 @@ nl: responsible: "Verantwoording afleggen" shared: "Gedeeld" watched: "Kijker" + reminder: "Reminder" facets: unread: "Ongelezen" unread_title: "Toon ongelezen" @@ -2279,7 +2287,6 @@ nl: label_enterprise_active_users: "%{current}/%{limit} gereserveerd actieve gebruikers" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Ondernemingsondersteuning" - label_enterprise_addon: "Enterprise add-on" label_environment: "Omgeving" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2628,6 +2635,7 @@ nl: label_this_month: "Deze maand" label_this_week: "deze week" label_this_year: "Dit jaar" + label_time: "Time" label_time_entry_plural: "Bestede tijd" label_time_entry_activity_plural: "Spent time activities" label_title: "Titel" @@ -3778,6 +3786,12 @@ nl: edit_description: "Kan dit werkpakket bekijken, becommentariëren en bewerken." view: "Weergeven" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/no.yml b/config/locales/crowdin/no.yml index c8d81c13aa1d..70306aaeebf8 100644 --- a/config/locales/crowdin/no.yml +++ b/config/locales/crowdin/no.yml @@ -854,6 +854,9 @@ lag: "Forsinkelse" from: "Arbeidspakke" to: "Relatert arbeidspakke" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1432,6 +1435,7 @@ login: "Brukernavn" mail: "E-post" name: "Navn" + note: "Note" password: "Passord" priority: "Prioritet" project: "Prosjekt" @@ -1528,6 +1532,7 @@ button_print: "Skriv ut" button_quote: "Sitèr" button_remove: Fjern + button_remove_reminder: "Remove reminder" button_rename: "Endre navn" button_replace: "Erstatt" button_revoke: "Tilbakekall" @@ -1538,6 +1543,7 @@ button_save_as: "Lagre som" button_apply_changes: "Bruk endringer" button_save_back: "Lagre og tilbake" + button_set_reminder: "Set reminder" button_show: "Vis" button_sort: "Sortèr" button_submit: "Lagre" @@ -1743,12 +1749,12 @@ direction: LTR ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Tilpass skjemakonfigurasjonen med disse ekstra utvidelsene:" add_groups: "Legg til nye attributtgrupper" rename_groups: "Endre attributtgrupper" - project_filters: - description_html: "Filtrering og sortering på egendefinerte felter er en utvidelse i Enterprise feltet." enumeration_activities: "Tidregistrering aktiviteter" enumeration_work_package_priorities: "Prioritering av arbeidspakker" enumeration_reported_project_statuses: "Rapportert prosjektstatus" @@ -1781,6 +1787,7 @@ error_pdf_export_too_many_columns: "For mange kolonner valgt for PDF eksport. Reduser antall kolonner." error_pdf_failed_to_export: "PDF-eksporten kunne ikke lagres: %{error}" error_token_authenticity: "Kan ikke bekrefte Cross-Site Request Forgery token. Har du prøvd å sende inn data i flere nettlesere eller faner? Vennligst lukk alle fanene og prøv igjen." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Arbeidspakken ble ikke funnet eller tilhører ikke dette prosjektet" error_work_package_id_not_found: "Arbeidspakken ble ikke funnet." error_must_be_project_member: "må være prosjektmedlem" @@ -2074,6 +2081,7 @@ responsible: "Ansvarlig" shared: "Delt" watched: "Overvåker" + reminder: "Reminder" facets: unread: "Ulest" unread_title: "Vis ulest" @@ -2281,7 +2289,6 @@ label_enterprise_active_users: "%{current}/%{limit} bookede brukere" label_enterprise_edition: "Enterprise Edition" label_enterprise_support: "Bedriftsstøtte" - label_enterprise_addon: "Enterprise utvidelse" label_environment: "Miljø" label_estimates_and_progress: "Estimater og fremdrift" label_equals: "er" @@ -2630,6 +2637,7 @@ label_this_month: "denne måneden" label_this_week: "denne uken" label_this_year: "dette året" + label_time: "Time" label_time_entry_plural: "Tid brukt" label_time_entry_activity_plural: "Brukt tid aktivitet" label_title: "Tittel" @@ -3782,6 +3790,12 @@ edit_description: "Kan vise, kommentere og redigere denne arbeidspakken." view: "Vis" view_description: "Kan se denne arbeidspakken." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 brukere" diff --git a/config/locales/crowdin/pl.yml b/config/locales/crowdin/pl.yml index 603c17d01a5c..535ee2e6465f 100644 --- a/config/locales/crowdin/pl.yml +++ b/config/locales/crowdin/pl.yml @@ -868,6 +868,9 @@ pl: lag: "Opóźnienie" from: "Zadanie" to: "Powiązanie zadania" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "ADRES URL" role: @@ -1466,6 +1469,7 @@ pl: login: "Nazwa użytkownika" mail: "Adres e-mail" name: "Nazwa" + note: "Note" password: "Hasło" priority: "Priorytet" project: "Projekt" @@ -1562,6 +1566,7 @@ pl: button_print: "Drukuj" button_quote: "Cytat" button_remove: Usuń + button_remove_reminder: "Remove reminder" button_rename: "Zmień nazwę" button_replace: "Zastąp" button_revoke: "Unieważnij" @@ -1572,6 +1577,7 @@ pl: button_save_as: "Zapisz jako" button_apply_changes: "Zastosuj zmiany" button_save_back: "Zapisz i wróć" + button_set_reminder: "Set reminder" button_show: "Pokaż" button_sort: "Sortowanie" button_submit: "Prześlij" @@ -1813,12 +1819,12 @@ pl: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Dostosuj konfigurację formularza za pomocą tych dodatków:" add_groups: "Dodaj nowe grupy atrybutów" rename_groups: "Zmień grupy atrybutów" - project_filters: - description_html: "Filtrowanie i sortowanie pól niestandardowych jest dodatkiem dla wersji Enterprise." enumeration_activities: "Działania śledzenia czasu" enumeration_work_package_priorities: "Priorytety pakietów roboczych" enumeration_reported_project_statuses: "Status zgłoszonego projektu" @@ -1851,6 +1857,7 @@ pl: error_pdf_export_too_many_columns: "Wybrano zbyt dużo kolumn do eksportu PDF. Zmniejsz liczbę kolumn." error_pdf_failed_to_export: "Nie można było zapisać eksportu PDF: %{error}" error_token_authenticity: "Nie można zweryfikować tokenu Cross-Site Request Forgery. Czy podjęto próbę przesłania danych w wielu przeglądarkach lub z wielu kart? Zamknij wszystkie karty i spróbuj ponownie." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Pakiet roboczy nie został znaleziony lub nie należy do tego projektu" error_work_package_id_not_found: "Nie znaleziono pakietu roboczego." error_must_be_project_member: "musi być członkiem projektu" @@ -2144,6 +2151,7 @@ pl: responsible: "Osoba odpowiedzialna" shared: "Udostępniono" watched: "Obserwator" + reminder: "Reminder" facets: unread: "Nieprzeczytane" unread_title: "Pokaż nieprzeczytane" @@ -2351,7 +2359,6 @@ pl: label_enterprise_active_users: "%{current}/%{limit} zarejestrowanych aktywnych użytkowników" label_enterprise_edition: "Wersja Enterprise" label_enterprise_support: "Wsparcie Enterprise" - label_enterprise_addon: "Dodatek wersji Enterprise" label_environment: "Środowisko" label_estimates_and_progress: "Szacunki i postęp" label_equals: "jest" @@ -2700,6 +2707,7 @@ pl: label_this_month: "ten miesiąc" label_this_week: "ten tydzień" label_this_year: "ten rok" + label_time: "Time" label_time_entry_plural: "Czas pracy" label_time_entry_activity_plural: "Czas spędzony na aktywności" label_title: "Tytuł" @@ -3855,6 +3863,12 @@ pl: edit_description: "Może wyświetlać, komentować i edytować ten pakiet roboczy." view: "Wyświetlanie" view_description: "Może wyświetlić ten pakiet roboczy." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 użytkowników" diff --git a/config/locales/crowdin/pt-BR.yml b/config/locales/crowdin/pt-BR.yml index e1e438ef216a..6b3ba51dd18d 100644 --- a/config/locales/crowdin/pt-BR.yml +++ b/config/locales/crowdin/pt-BR.yml @@ -852,6 +852,9 @@ pt-BR: lag: "Atraso" from: "Pacote de trabalho" to: "Pacote de trabalho relacionado" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1430,6 +1433,7 @@ pt-BR: login: "Nome de usuário" mail: "E-mail" name: "Nome" + note: "Note" password: "Senha" priority: "Prioridade" project: "Projeto" @@ -1526,6 +1530,7 @@ pt-BR: button_print: "Imprimir" button_quote: "Citar" button_remove: Remover + button_remove_reminder: "Remove reminder" button_rename: "Renomear" button_replace: "Substituir" button_revoke: "Revogar" @@ -1536,6 +1541,7 @@ pt-BR: button_save_as: "Salvar como" button_apply_changes: "Aplicar as alterações" button_save_back: "Salvar e voltar" + button_set_reminder: "Set reminder" button_show: "Mostrar" button_sort: "Ordenar" button_submit: "Enviar" @@ -1741,12 +1747,12 @@ pt-BR: direction: da esquerda para a direita ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Personalize a configuração do formulário com estes complementos adicionais:" add_groups: "Adicionar novos grupos de atributos" rename_groups: "Renomear grupos de atributos" - project_filters: - description_html: "Filtrar e ordenar em campos personalizados é um complemento da edição Enterprise." enumeration_activities: "Atividades de controle de tempo" enumeration_work_package_priorities: "Prioridades do pacote de trabalho" enumeration_reported_project_statuses: "Situação de projeto comunicada" @@ -1779,6 +1785,7 @@ pt-BR: error_pdf_export_too_many_columns: "Muitas colunas selecionadas para a exportação para PDF. Reduza o número de colunas." error_pdf_failed_to_export: "Não foi possível salvar a exportação do PDF: %{error}" error_token_authenticity: "Não foi possível verificar o token de Falsificação de Solicitação Entre Sites. Você tentou enviar dados em vários navegadores ou abas? Por favor, feche todas as abas e tente novamente." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "O pacote de trabalho não foi encontrado ou não pertence a este projeto" error_work_package_id_not_found: "O pacote de trabalho não foi encontrado." error_must_be_project_member: "deve ser membro do projeto" @@ -2072,6 +2079,7 @@ pt-BR: responsible: "Responsável" shared: "Compartilhado" watched: "Observador" + reminder: "Reminder" facets: unread: "Não lido" unread_title: "Exibir não lidos" @@ -2279,7 +2287,6 @@ pt-BR: label_enterprise_active_users: "%{current}/%{limit} usuários ativos reservados" label_enterprise_edition: "Edição Enterprise" label_enterprise_support: "Suporte corporativo" - label_enterprise_addon: "Complemento empresarial" label_environment: "Ambiente" label_estimates_and_progress: "Estimativas e progresso" label_equals: "é" @@ -2628,6 +2635,7 @@ pt-BR: label_this_month: "este mês" label_this_week: "esta semana" label_this_year: "este ano" + label_time: "Time" label_time_entry_plural: "Tempo gasto" label_time_entry_activity_plural: "Tempo investido em atividades" label_title: "Título" @@ -3778,6 +3786,12 @@ pt-BR: edit_description: "Pode visualizar, comentar e editar este pacote de trabalho." view: "Ver" view_description: "Pode visualizar este pacote de trabalho." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 usuários" diff --git a/config/locales/crowdin/pt-PT.yml b/config/locales/crowdin/pt-PT.yml index 821a484948ce..a4ef0c348048 100644 --- a/config/locales/crowdin/pt-PT.yml +++ b/config/locales/crowdin/pt-PT.yml @@ -852,6 +852,9 @@ pt-PT: lag: "Atraso" from: "Pacote de trabalho" to: "Tarefas Relacionadas" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1430,6 +1433,7 @@ pt-PT: login: "Nome do Utilizador" mail: "E-mail" name: "Nome" + note: "Note" password: "Senha" priority: "Prioridade" project: "Projecto" @@ -1526,6 +1530,7 @@ pt-PT: button_print: "Imprimir" button_quote: "Citar" button_remove: Remover + button_remove_reminder: "Remove reminder" button_rename: "Alterar o nome" button_replace: "Substituir" button_revoke: "Revogar" @@ -1536,6 +1541,7 @@ pt-PT: button_save_as: "Guardar como" button_apply_changes: "Aplicar alterações" button_save_back: "Salvar e voltar" + button_set_reminder: "Set reminder" button_show: "Mostrar" button_sort: "Ordenar" button_submit: "Enviar" @@ -1741,12 +1747,12 @@ pt-PT: direction: lTR ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Personalize a configuração do formulário com estes complementos adicionais:" add_groups: "Adicionar novos grupos de atributos" rename_groups: "Mudar o nome de grupos de atributos" - project_filters: - description_html: "Filtrar e ordenar os campos personalizados é um complemento da edição Enterprise." enumeration_activities: "Atividades de controlo de tempo" enumeration_work_package_priorities: "Prioridades de tarefas" enumeration_reported_project_statuses: "Estado do projeto reportado" @@ -1779,6 +1785,7 @@ pt-PT: error_pdf_export_too_many_columns: "Demasiadas colunas selecionadas para a exportação PDF. Reduza o número de colunas." error_pdf_failed_to_export: "Não foi possível guardar a exportação de PDF: %{error}" error_token_authenticity: "Não é possível verificar o token de Cross-Site Request Forgery. Tentou enviar dados em vários navegadores ou abas? Feche todas as abas e tente novamente." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "A tarefa não foi encontrada ou não pertence a este projecto" error_work_package_id_not_found: "O pacote de trabalho não foi encontrado." error_must_be_project_member: "deve ser membro do projeto" @@ -2072,6 +2079,7 @@ pt-PT: responsible: "Responsável" shared: "Partilhado" watched: "Observador" + reminder: "Reminder" facets: unread: "Não lidas" unread_title: "Mostrar não lidas" @@ -2279,7 +2287,6 @@ pt-PT: label_enterprise_active_users: "%{current}/%{limit} utilizadores ativos reservados" label_enterprise_edition: "Edição Enterprise" label_enterprise_support: "Suporte Enterprise" - label_enterprise_addon: "Suplemento Enterprise" label_environment: "Ambiente" label_estimates_and_progress: "Estimativas e progresso" label_equals: "é" @@ -2628,6 +2635,7 @@ pt-PT: label_this_month: "este mês" label_this_week: "esta semana" label_this_year: "este ano" + label_time: "Time" label_time_entry_plural: "Tempo usado" label_time_entry_activity_plural: "Tempo despendido em atividades" label_title: "Título" @@ -3777,6 +3785,12 @@ pt-PT: edit_description: "Pode ver, comentar e editar este pacote de trabalho." view: "Ver" view_description: "Pode ver este pacote de trabalho." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 utilizadores" diff --git a/config/locales/crowdin/ro.yml b/config/locales/crowdin/ro.yml index 5bb98dee8d27..54dd683d9bbd 100644 --- a/config/locales/crowdin/ro.yml +++ b/config/locales/crowdin/ro.yml @@ -310,7 +310,7 @@ ro: overviews: "Prezentare generală proiect" queries: "Pachete de lucru: vizualizări salvate" wiki_page_attachments: "Pagini wiki: atașamente" - work_package_attachments: "Pachete de lucru: anexe" + work_package_attachments: "Pachete de lucru: atașamente" work_package_categories: "Pachete de lucru: categorii" work_package_file_links: "Pachete de lucru: legături de fișiere" work_package_shares: "Pachete de lucru: partajări" @@ -371,7 +371,7 @@ ro: types: no_results_title_text: În acest moment nu există tipuri disponibile. form: - enable_type_in_project: 'Activare tip %{type}' + enable_type_in_project: 'Activează tip %{type}' versions: no_results_title_text: În acest moment nu există versiuni pentru acest proiect. no_results_content_text: Creează versiune nouă @@ -514,7 +514,7 @@ ro: placeholder_users: right_to_manage_members_missing: > Nu aveți permisiunea de a șterge utilizatorul de tip placeholder. Nu aveți dreptul de a gestiona membrii pentru toate proiectele din care face parte utilizatorul de tip placeholder. - delete_tooltip: "Ștergeți utilizatorul de tip placeholder" + delete_tooltip: "Șterge utilizator placeholder" deletion_info: heading: "Ștergeți utilizatorul de tip placeholder %{name}" data_consequences: > @@ -617,7 +617,7 @@ ro: none_could_be_saved: "Niciunul dintre pachetele de lucru %{total} nu poate fi actualizat." x_out_of_y_could_be_saved: "%{failing} din %{total} pachete de lucru nu pot fi actualizate în timp ce %{success} poate fi actualizat." selected_because_descendants: "While %{selected} work packages were selected, in total %{total} work packages are affected which includes descendants." - descendant: "descendent de selectat" + descendant: "descendent al selectatului" move: no_common_statuses_exists: "Nu există o stare disponibilă pentru toate pachetele de lucru selectate. Starea acestora nu poate fi modificată." unsupported_for_multiple_projects: "Mutarea/copierea în masă nu este suportată pentru pachete de lucru din proiecte multiple" @@ -650,57 +650,57 @@ ro: index: action_bar_title: "Add relations to other work packages to create a link between them." no_results_title_text: There are currently no relations available. - blankslate_heading: "No relations" + blankslate_heading: "Fără relații" blankslate_description: "This work package does not have any relations yet." - label_add_x: "Add %{x}" - label_edit_x: "Edit %{x}" + label_add_x: "Adaugă %{x}" + label_edit_x: "Editează %{x}" label_add_description: "Add description" lag: subject: "Lag" title: "Lag (in days)" - caption: "The gap in number of working days in between the two work packages" + caption: "Diferența în numărul de zile lucrătoare dintre cele două pachete de lucru" relations: - label_relates_singular: "related to" - label_relates_plural: "related to" - label_relates_to_singular: "related to" - label_relates_to_plural: "related to" - relates_description: "Creates a visible link between the two work packages with no additional effect" - relates_to_description: "Creates a visible link between the two work packages with no additional effect" - label_precedes_singular: "successor (after)" - label_precedes_plural: "successors (after)" - precedes_description: "The related work package necessarily needs to start after this one finishes" - label_follows_singular: "predecessor (before)" - label_follows_plural: "predecessors (before)" - follows_description: "The related work package necessarily needs to finish before this one can start" - label_child_singular: "child" - label_child_plural: "children" + label_relates_singular: "asociat cu" + label_relates_plural: "asociat cu" + label_relates_to_singular: "asociat cu" + label_relates_to_plural: "asociat cu" + relates_description: "Creează o legătură vizibilă între cele două pachete de lucru fără niciun efect suplimentar" + relates_to_description: "Creează o legătură vizibilă între cele două pachete de lucru fără niciun efect suplimentar" + label_precedes_singular: "succesor (după)" + label_precedes_plural: "succesor (după)" + precedes_description: "Pachetul de lucru asociat trebuie neapărat să înceapă după finalizarea acestuia" + label_follows_singular: "predecesor (înainte)" + label_follows_plural: "predecesor (înainte)" + follows_description: "Pachetul de lucru asociat trebuie neapărat să înceapă după finalizarea acestuia" + label_child_singular: "copil" + label_child_plural: "copii" child_description: "Makes the related work package a sub-item of the current (parent) work package" - label_blocks_singular: "blocks" - label_blocks_plural: "blocks" - blocks_description: "The related work package cannot be closed until this one is closed first" - label_blocked_singular: "blocked by" - label_blocked_plural: "blocked by" - label_blocked_by_singular: "blocked by" - label_blocked__by_plural: "blocked by" - blocked_description: "This work package cannot be closed until the related one is closed first" - blocked_by_description: "This work package cannot be closed until the related one is closed first" - label_duplicates_singular: "duplicates" - label_duplicates_plural: "duplicates" - duplicates_description: "This is a copy of the related work package" - label_duplicated_singular: "duplicated by" - label_duplicated_plural: "duplicated by" - label_duplicated_by_singular: "duplicated by" - label_duplicated_by_plural: "duplicated by" - duplicated_by_description: "The related work package is a copy of this" - duplicated_description: "The related work package is a copy of this" - label_includes_singular: "includes" - label_includes_plural: "includes" - includes_description: "Marks the related work package as including this one with no additional effect" - label_partof_singular: "part of" - label_partof_plural: "part of" - label_part_of_singular: "part of" - label_part_of_plural: "part of" - partof_description: "Marks the related work package as being part of this one with no additional effect" + label_blocks_singular: "blochează" + label_blocks_plural: "blochează" + blocks_description: "Pachetul de lucru asociat nu poate fi închis până când acesta nu este închis mai întâi" + label_blocked_singular: "blocat de" + label_blocked_plural: "blocat de" + label_blocked_by_singular: "blocat de" + label_blocked__by_plural: "blocat de" + blocked_description: "Pachetul de lucru asociat nu poate fi închis până când acesta nu este închis mai întâi" + blocked_by_description: "Pachetul de lucru asociat nu poate fi închis până când acesta nu este închis mai întâi" + label_duplicates_singular: "dublează" + label_duplicates_plural: "dublează" + duplicates_description: "Aceasta este o copie a pachetului de lucru asociat" + label_duplicated_singular: "dublat de" + label_duplicated_plural: "dublat de" + label_duplicated_by_singular: "dublat de" + label_duplicated_by_plural: "dublat de" + duplicated_by_description: "Pachetul de lucru asociat este o copie a acestuia" + duplicated_description: "Pachetul de lucru asociat este o copie a acestuia" + label_includes_singular: "include" + label_includes_plural: "include" + includes_description: "Marchează pachetul de lucru asociat ca incluzând acesta, fără niciun efect suplimentar" + label_partof_singular: "parte din" + label_partof_plural: "parte din" + label_part_of_singular: "parte din" + label_part_of_plural: "parte din" + partof_description: "Marchează pachetul de lucru asociat ca incluzând acesta, fără niciun efect suplimentar" part_of_description: "Marks the related work package as being part of this one with no additional effect" label_requires_singular: "requires" label_requires_plural: "requires" @@ -863,6 +863,9 @@ ro: lag: "Lag" from: "Pachet de lucru" to: "Pachet de lucru asociat" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1451,6 +1454,7 @@ ro: login: "Utilizator" mail: "E-mail" name: "Nume" + note: "Note" password: "Parolă" priority: "Prioritate" project: "Proiect" @@ -1547,6 +1551,7 @@ ro: button_print: "Tipărește" button_quote: "Citare" button_remove: Eliminare + button_remove_reminder: "Remove reminder" button_rename: "Redenumire" button_replace: "Înlocuiește" button_revoke: "Revocă" @@ -1557,6 +1562,7 @@ ro: button_save_as: "Salvează ca" button_apply_changes: "Aplică modificările" button_save_back: "Salvează și înapoi" + button_set_reminder: "Set reminder" button_show: "Afişare" button_sort: "Sortare" button_submit: "Trimitere" @@ -1780,12 +1786,12 @@ ro: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Personalizați configurația formularului cu aceste add-on-uri suplimentare:" add_groups: "Adăugarea de noi grupuri de atribute" rename_groups: "Redenumirea grupurilor de atribute" - project_filters: - description_html: "Filtrarea și sortarea pe câmpuri personalizate este un supliment al ediției Enterprise." enumeration_activities: "Activități de urmărire timp activate" enumeration_work_package_priorities: "Priorități pentru pachetele de lucru" enumeration_reported_project_statuses: "Stările proiectului raportat" @@ -1818,6 +1824,7 @@ ro: error_pdf_export_too_many_columns: "Prea multe coloane selectate pentru exportul PDF. Vă rugăm să reduceți numărul de coloane." error_pdf_failed_to_export: "Exportul pdf nu poate fi salvat: %{error}" error_token_authenticity: "Nu se poate verifica tokenul Cross-Site Request Forgery. Ați încercat să trimiteți datele pe mai multe browsere sau tab-uri? Vă rugăm să închideți toate filele și să încercați din nou." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Pachetul de lucru nu a fost găsit sau nu aparține acestui proiect" error_work_package_id_not_found: "Pachetul de lucru nu a fost găsit." error_must_be_project_member: "trebuie să fie membru al proiectului" @@ -2106,16 +2113,17 @@ ro: notifications: reasons: assigned: "Executant" - dateAlert: "Alertă de dată" + dateAlert: "Alertă dată" mentioned: "Menţionat" responsible: "Responsabil" shared: "Partajat" watched: "Observator" + reminder: "Reminder" facets: unread: "Necitite" unread_title: "Afișare necitite" all: "Toate" - all_title: "Afișare toate" + all_title: "Afișează toate" menu: by_project: "Necitite după proiect" by_reason: "Motiv" @@ -2170,7 +2178,7 @@ ro: label_ical_access_key_revoke: "Revocă" label_add_column: "Adaugă coloană" label_applied_status: "Stare aplicată" - label_archive_project: "Proiect de arhivă" + label_archive_project: "Arhivează proiect" label_ascending: "Crescător" label_assigned_to_me_work_packages: "Pachete de lucru atribuite mie" label_associated_revisions: "Revizii asociate" @@ -2318,7 +2326,6 @@ ro: label_enterprise_active_users: "%{current}/%{limit} numărul de utilizatori activi rezervați" label_enterprise_edition: "Ediția Enterprise" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Mediu" label_estimates_and_progress: "Estimări și progrese" label_equals: "este" @@ -2445,7 +2452,7 @@ ro: label_membership_plural: "Memberships" label_membership_added: "Membru adăugat" label_membership_updated: "Membru actualizat" - label_menu: "Menu" + label_menu: "Meniu" label_menu_badge: pre_alpha: "pre-alpha" alpha: "alfa" @@ -2554,7 +2561,7 @@ ro: label_project: "Proiect" label_project_activity: "Activitate proiect" label_project_attribute_plural: "Atributele proiectului" - label_project_attribute_manage_link: "Manage project attributes" + label_project_attribute_manage_link: "Gestionează atribute proiect" label_project_count: "Număr total de proiecte" label_project_copy_notifications: "Trimitere notificări e-mail în timpul copierii proiectului" label_project_latest: "Ultimele proiecte" @@ -2564,8 +2571,8 @@ ro: label_project_new: "Proiect nou" label_project_plural: "Proiecte" label_project_list_plural: "Listă proiecte" - label_project_attributes_plural: "Atributele proiectului" - label_project_custom_field_plural: "Atributele proiectului" + label_project_attributes_plural: "Atribute proiect" + label_project_custom_field_plural: "Atribute proiect" label_project_settings: "Setările proiectului" label_project_attributes_settings: "Project attributes settings" label_project_storage_plural: "File Storages" @@ -2667,6 +2674,7 @@ ro: label_this_month: "luna curentă" label_this_week: "săptămâna curentă" label_this_year: "anul curent" + label_time: "Time" label_time_entry_plural: "Timp consumat" label_time_entry_activity_plural: "Activități timp consumat" label_title: "Titlu" @@ -3055,7 +3063,7 @@ ro: permission_add_project: "Create projects" permission_add_work_package_attachments: "Adaugă fișiere" permission_add_work_package_attachments_explanation: "Allows adding attachments without Edit work packages permission" - permission_archive_project: "Proiect arhivat" + permission_archive_project: "Arhivare proiect" permission_create_user: "Create users" permission_manage_user: "Editează utilizatori" permission_manage_placeholder_user: "Creați, editați și ștergeți utilizatori de tip placeholder" @@ -3519,7 +3527,7 @@ ro: other: "Altele" passwords: "Parole" project_attributes: - heading: "Atributele proiectului" + heading: "Atribute proiect" label_new_attribute: "Atribut proiect" label_new_section: "Secțiune" label_edit_section: "Editează titlul" @@ -3821,6 +3829,12 @@ ro: edit_description: "Can view, comment and edit this work package." view: "Vizualizează" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index c22b1bedec1d..767b3d512059 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -870,6 +870,9 @@ ru: lag: "Задержка" from: "Пакет работ" to: "Похожий пакет работ" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1468,6 +1471,7 @@ ru: login: "Имя пользователя" mail: "Электронная почта" name: "Имя" + note: "Note" password: "Пароль" priority: "Приоритет" project: "Проект" @@ -1564,6 +1568,7 @@ ru: button_print: "Печать" button_quote: "Цитата" button_remove: Удалить + button_remove_reminder: "Remove reminder" button_rename: "Переименовать" button_replace: "Заменить" button_revoke: "Отозвать" @@ -1574,6 +1579,7 @@ ru: button_save_as: "Сохранить как" button_apply_changes: "Применить изменения" button_save_back: "Сохранить и вернуться" + button_set_reminder: "Set reminder" button_show: "Показать" button_sort: "Сортировать" button_submit: "Отправить" @@ -1815,12 +1821,12 @@ ru: direction: Слева направо ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Настройте конфигурацию формы с помощью этих дополнительных дополнений:" add_groups: "Добавить новую группу атрибутов" rename_groups: "Переименовать группу атрибутов" - project_filters: - description_html: "Фильтрация и сортировка по настраиваемым полям - это функция корпоративной версии." enumeration_activities: "Отслеживание времени" enumeration_work_package_priorities: "Приоритеты пакета работ" enumeration_reported_project_statuses: "Перечень отчетов о статусах проекта" @@ -1853,6 +1859,7 @@ ru: error_pdf_export_too_many_columns: "Для экспорта в PDF-файл выбрано слишком много столбцов. Пожалуйста, сократите количество столбцов." error_pdf_failed_to_export: "Не удалось сохранить экспорт в PDF: %{error}" error_token_authenticity: "Не удалось проверить CSRF-токен. Возможно, вы попытались отправить данные сразу из нескольких браузеров или вкладок. Закройте все вкладки и попробуйте снова." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Пакет работ не найден или не принадлежит к этому проекту" error_work_package_id_not_found: "Пакет работ не найден." error_must_be_project_member: "должен быть участник проекта" @@ -2146,6 +2153,7 @@ ru: responsible: "Ответственный" shared: "Общий доступ" watched: "Наблюдатель" + reminder: "Reminder" facets: unread: "Непрочтено" unread_title: "Показать непрочитанные" @@ -2316,7 +2324,7 @@ ru: label_delete: "Удалить" label_deleted: "Удалено" label_deleted_custom_field: "(удалено настраиваемое поле)" - label_deleted_custom_item: "(deleted item)" + label_deleted_custom_item: "(удалено)" label_deleted_custom_option: "(удалённая опция)" label_empty_element: "(пусто)" label_missing_or_hidden_custom_option: "(отсутствует значение или недостаточно прав для доступа)" @@ -2353,7 +2361,6 @@ ru: label_enterprise_active_users: "%{current}/%{limit} забронировано активных пользователей" label_enterprise_edition: "Корпоративная версия" label_enterprise_support: "Поддержка корпоративной версии" - label_enterprise_addon: "Корпоративное дополнение" label_environment: "Переменные среды" label_estimates_and_progress: "Оценки и прогресс" label_equals: "—" @@ -2702,6 +2709,7 @@ ru: label_this_month: "в этом месяце" label_this_week: "на этой неделе" label_this_year: "в этом году" + label_time: "Time" label_time_entry_plural: "Затраченное время" label_time_entry_activity_plural: "Потраченное время" label_title: "Заголовок" @@ -3319,7 +3327,7 @@ ru: oauth_application_details_link_text: "Перейти на страницу настроек" setup_documentation_details: "Если вам нужна помощь в настройке нового хранилища файлов, пожалуйста, проверьте документацию: " setup_documentation_details_link_text: "Настройка файловых хранилищ" - show_warning_details: "Для использования этого хранилища файлов не забудьте активировать модуль и определенное хранилище в настройках проекта каждого желаемого проекта." + show_warning_details: "Для использования этого хранилища файлов не забудьте активировать модуль и конкретное хранилище в настройках проекта каждого желаемого проекта." subversion: existing_title: "Существующий репозиторий Subversion" existing_introduction: "Если у вас есть существующий репозиторий Subversion, вы можете связать его с OpenProject для доступа к нему из приложения." @@ -3424,12 +3432,12 @@ ru: setting_work_package_done_ratio: "Режим расчета прогресса" setting_work_package_done_ratio_field: "На основе трудозатрат" setting_work_package_done_ratio_field_caption_html: >- - % Завершения может быть свободно установлен на любое значение. Если Вы опционально введете значение для параметра Работа, то автоматически будет выведено значение Оставшаяся работа. + % Завершено может быть свободно установлен на любое значение. Если Вы опционально введете значение для параметра Предполагаемое время, то автоматически будет выведено значение Оставшиеся часы. setting_work_package_done_ratio_status: "На основе статуса" setting_work_package_done_ratio_status_caption_html: >- С каждым статусом связано значение % Завершения. Изменение статуса приведет к изменению % Завершения. setting_work_package_done_ratio_explanation_html: > - В режиме На основе трудозатрат для параметра % Завершения можно свободно установить любое значение. Если вы дополнительно введете значение «Работа», «Оставшаяся работа» будет получена автоматически. В режиме На основе статуса с каждым статусом связано значение % Завершения. Изменение статуса приведет к изменению % Завершения. + В режиме На основе трудозатрат для параметра % Завершено можно свободно установить любое значение. Если вы дополнительно введете значение «Предполагаемое время», «Оставшиеся часы» будут получены автоматически. В режиме На основе статуса с каждым статусом связано значение % Завершено. Изменение статуса приведет к изменению % Завершено. setting_work_package_properties: "Свойства пакета работ" setting_work_package_startdate_is_adddate: "Использовать текущую дату как дату начала для новых пакетов работ" setting_work_packages_projects_export_limit: "Ограничение экспорта пакетов работ / проектов" @@ -3448,10 +3456,10 @@ ru: setting_password_min_length: "Минимальная длина" setting_password_min_adhered_rules: "Минимальное количество необходимых классов" setting_per_page_options: "Количество объектов на страницу" - setting_percent_complete_on_status_closed: "% Завершения, когда статус закрыт" + setting_percent_complete_on_status_closed: "% Завершено, когда статус закрыт" setting_percent_complete_on_status_closed_no_change: "Без изменений" setting_percent_complete_on_status_closed_no_change_caption_html: >- - Значение % Завершения не изменится, даже если пакет работ будет закрыт. + Значение % Завершено не изменится, даже если пакет работ будет закрыт. setting_percent_complete_on_status_closed_set_100p: "Автоматически устанавливается на 100%" setting_percent_complete_on_status_closed_set_100p_caption: >- Закрытый пакет работ считается завершенным. @@ -3478,13 +3486,13 @@ ru: setting_sys_api_enabled: "Разрешить веб-сервис управления репозиторием" setting_sys_api_description: "Веб-сервис управления репозиторием обеспечивает интеграцию и авторизацию пользователя для доступа к репозиторию." setting_time_format: "Время" - setting_total_percent_complete_mode: "Расчет общего % Завершения полной иерархии" + setting_total_percent_complete_mode: "Расчёт общего % Завершено по всей иерархии" setting_total_percent_complete_mode_work_weighted_average: "Взвешенное по работе" setting_total_percent_complete_mode_work_weighted_average_caption_html: >- - Общий % Завершения будет взвешен по Работе каждого пакета работ в иерархии. Пакеты работ без Работы будут игнорироваться. + Общий % Завершено будет рассчитан как средневзвешенное значение по Предполагаемому времени каждого пакета работ в иерархии. Пакеты работ без Предполагаемого времени будут игнорироваться. setting_total_percent_complete_mode_simple_average: "Среднее арифметическое" setting_total_percent_complete_mode_simple_average_caption_html: >- - Работа игнорируется, и Общий % Завершения будет средним арифметическим значением % Завершения пакетов работ в иерархии. + Предполагаемое время игнорируется, и Общий % Завершено будет средним арифметическим от значений % Завершено пакетов работ в иерархии. setting_accessibility_mode_for_anonymous: "Разрешить режим доступа людей с ограниченными возможностями для анонимных пользователей" setting_user_format: "Формат имени пользователя" setting_user_default_timezone: "Часовой пояс пользователя по умолчанию" @@ -3856,6 +3864,12 @@ ru: edit_description: "Может просматривать, комментировать и редактировать этот пакет работ." view: "Просматривать" view_description: "Может просматривать этот пакет работ." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 пользователей" diff --git a/config/locales/crowdin/rw.yml b/config/locales/crowdin/rw.yml index ccbbefc06dec..6578d92e67e6 100644 --- a/config/locales/crowdin/rw.yml +++ b/config/locales/crowdin/rw.yml @@ -855,6 +855,9 @@ rw: lag: "Lag" from: "Work package" to: "Related work package" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1433,6 +1436,7 @@ rw: login: "Username" mail: "Email" name: "Name" + note: "Note" password: "Password" priority: "Priority" project: "Project" @@ -1529,6 +1533,7 @@ rw: button_print: "Print" button_quote: "Quote" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "Rename" button_replace: "Replace" button_revoke: "Revoke" @@ -1539,6 +1544,7 @@ rw: button_save_as: "Save as" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "Show" button_sort: "Sort" button_submit: "Submit" @@ -1744,12 +1750,12 @@ rw: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1782,6 +1788,7 @@ rw: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "must be project member" @@ -2075,6 +2082,7 @@ rw: responsible: "Accountable" shared: "Shared" watched: "Watcher" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ rw: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2631,6 +2638,7 @@ rw: label_this_month: "this month" label_this_week: "this week" label_this_year: "this year" + label_time: "Time" label_time_entry_plural: "Spent time" label_time_entry_activity_plural: "Spent time activities" label_title: "Title" @@ -3783,6 +3791,12 @@ rw: edit_description: "Can view, comment and edit this work package." view: "View" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/si.yml b/config/locales/crowdin/si.yml index d4410595246b..31623c142dc5 100644 --- a/config/locales/crowdin/si.yml +++ b/config/locales/crowdin/si.yml @@ -855,6 +855,9 @@ si: lag: "Lag" from: "වැඩ පැකේජය" to: "අදාළ වැඩ පැකේජය" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "සැ. නි." role: @@ -1433,6 +1436,7 @@ si: login: "පරිශීලක නාමය" mail: "ඊ-තැපැල්" name: "නම" + note: "Note" password: "මුරපදය" priority: "ප්රමුඛතාව" project: "ව්යාපෘති" @@ -1529,6 +1533,7 @@ si: button_print: "මුද්රණය" button_quote: "උපුටා" button_remove: ඉවත් කරන්න + button_remove_reminder: "Remove reminder" button_rename: "නැවත නම් කරන්න" button_replace: "ප්රතිස්ථාපනය කරන්න" button_revoke: "අවලංගු" @@ -1539,6 +1544,7 @@ si: button_save_as: "ලෙස සුරකින්න" button_apply_changes: "Apply changes" button_save_back: "සුරකින්න සහ නැවත" + button_set_reminder: "Set reminder" button_show: "පෙන්වන්න" button_sort: "වර්ග" button_submit: "ඉදිරිපත් කරන්න" @@ -1744,12 +1750,12 @@ si: direction: LTR ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "නව ගුණාංග කණ්ඩායම් එකතු කරන්න" rename_groups: "ගුණාංග කණ්ඩායම් නැවත නම් කරන්න" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "කාලය සොයා ගැනීමේ ක්රියාකාරකම්" enumeration_work_package_priorities: "වැඩ පැකේජ ප්රමුඛතා" enumeration_reported_project_statuses: "වාර්තා කරන ලද ව්යාපෘති තත්ත්වය" @@ -1782,6 +1788,7 @@ si: error_pdf_export_too_many_columns: "PDF අපනයනය සඳහා තෝරාගෙන ඇති තීරු බොහොමයක්. කරුණාකර තීරු ගණන අඩු කරන්න." error_pdf_failed_to_export: "PDF අපනයනය සුරැකිය නොහැකි විය: %{error}" error_token_authenticity: "හරස් අඩවි ඉල්ලීම් ව්යාජ ටෝකනය සත්යාපනය කිරීමට නොහැකි විය. ඔබ බහු බ්රව්සර් හෝ ටැබ් මත දත්ත ඉදිරිපත් කිරීමට උත්සාහ කළාද? කරුණාකර සියලුම ටැබ් වසා නැවත උත්සාහ කරන්න." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "වැඩ පැකේජය සොයාගත නොහැකි හෝ මෙම ව්යාපෘතියට අයත් නොවේ" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "ව්යාපෘති සාමාජිකයෙකු විය යුතුය" @@ -2075,6 +2082,7 @@ si: responsible: "වගවීම" shared: "Shared" watched: "මුරකරු" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ si: label_enterprise_active_users: "%{current}/%{limit} වෙන් කර ඇති සක්රීය පරිශීලකයින්" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "පරිසරය" label_estimates_and_progress: "Estimates and progress" label_equals: "වේ" @@ -2631,6 +2638,7 @@ si: label_this_month: "මෙම මාසය" label_this_week: "මේ සතියේ" label_this_year: "මේ වසරේ" + label_time: "Time" label_time_entry_plural: "වැය කළ කාලය" label_time_entry_activity_plural: "Spent time activities" label_title: "මාතෘකාව" @@ -3783,6 +3791,12 @@ si: edit_description: "Can view, comment and edit this work package." view: "දැක්ම" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/sk.yml b/config/locales/crowdin/sk.yml index 615868643997..e847dd507cee 100644 --- a/config/locales/crowdin/sk.yml +++ b/config/locales/crowdin/sk.yml @@ -871,6 +871,9 @@ sk: lag: "Lag" from: "Pracovný balíček" to: "Súvisiaci pracovný balíček" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL adresa" role: @@ -1469,6 +1472,7 @@ sk: login: "Používateľské meno" mail: "E-mail" name: "Názov" + note: "Note" password: "Heslo" priority: "Priorita" project: "Projekt" @@ -1565,6 +1569,7 @@ sk: button_print: "Tlač" button_quote: "Citovať" button_remove: Vymazať + button_remove_reminder: "Remove reminder" button_rename: "Premenovať" button_replace: "Nahradiť" button_revoke: "Odvolať" @@ -1575,6 +1580,7 @@ sk: button_save_as: "Uložiť ako" button_apply_changes: "Apply changes" button_save_back: "Uloženie a návrat" + button_set_reminder: "Set reminder" button_show: "Ukázať" button_sort: "Zoradiť" button_submit: "Odoslať" @@ -1816,12 +1822,12 @@ sk: direction: zľava doprava ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Pridajte nové skupiny atribútov" rename_groups: "Premenovať skupiny atribútov" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Priority Pracovného balíka" enumeration_reported_project_statuses: "Nahlásený stav projektu" @@ -1854,6 +1860,7 @@ sk: error_pdf_export_too_many_columns: "Vybraných príliš veľa stĺpcov pre export do PDF. Znížte počet stĺpcov." error_pdf_failed_to_export: "PDF export nie je možné uložiť: %{error}" error_token_authenticity: "Nepodarilo sa overiť Token medzi lokalitami. Ak ste sa pokúsili uložiť údaje na viaceré karty alebo prehliadače, zatvorte ich a opätovne načítajte túto stránku a skúste to znova." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Pracovný balíček nebol nájdený alebo nepatrí k tomuto projektu" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "musíte byť členom projektu" @@ -2147,6 +2154,7 @@ sk: responsible: "Zodpovedný" shared: "Shared" watched: "Pozorovateľ" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2354,7 +2362,6 @@ sk: label_enterprise_active_users: "%{current}/%{limit} rezervovaných aktívnych užívateľov" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Prostredie" label_estimates_and_progress: "Estimates and progress" label_equals: "je" @@ -2703,6 +2710,7 @@ sk: label_this_month: "Tento mesiac" label_this_week: "tento týždeň" label_this_year: "Tento rok" + label_time: "Time" label_time_entry_plural: "Strávený čas" label_time_entry_activity_plural: "Spent time activities" label_title: "Nadpis" @@ -3860,6 +3868,12 @@ sk: edit_description: "Can view, comment and edit this work package." view: "Zobraziť" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/sl.yml b/config/locales/crowdin/sl.yml index a09b09607d9a..36f22c107f9e 100644 --- a/config/locales/crowdin/sl.yml +++ b/config/locales/crowdin/sl.yml @@ -868,6 +868,9 @@ sl: lag: "Lag" from: "Zahtevek" to: "Soroden zahtevek" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1466,6 +1469,7 @@ sl: login: "Uporabniško ime" mail: "E-pošta" name: "Ime" + note: "Note" password: "Geslo" priority: "Prioriteta" project: "Projekt" @@ -1562,6 +1566,7 @@ sl: button_print: "Natisni" button_quote: "Citiraj" button_remove: Odstrani + button_remove_reminder: "Remove reminder" button_rename: "Preimenuj" button_replace: "Zamenjaj" button_revoke: "Prekliči" @@ -1572,6 +1577,7 @@ sl: button_save_as: "Shrani kot" button_apply_changes: "Apply changes" button_save_back: "Shrani in nazaj" + button_set_reminder: "Set reminder" button_show: "Pokaži" button_sort: "Razvrsti" button_submit: "Potrdi" @@ -1813,12 +1819,12 @@ sl: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Dodajte nove skupine atributov" rename_groups: "Preimenujte skupine atributov" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Dejavnosti spremljanja časa" enumeration_work_package_priorities: "Prednostne naloge delovnega paketa" enumeration_reported_project_statuses: "Poročano stanje projekta" @@ -1851,6 +1857,7 @@ sl: error_pdf_export_too_many_columns: "Za izvoz PDF je izbranih preveč stolpcev. Zmanjšajte število stolpcev." error_pdf_failed_to_export: "Izvoza PDF ni bilo mogoče shraniti: %{error}" error_token_authenticity: "Ni mogoče preveriti žetona ponarejanja zahteve na več mestih. Ste poskušali predložiti podatke v več brskalnikih ali zavihkih? Zaprite vse zavihke in poskusite znova.\n" + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Delovnega paketa/ zahtevka ni bilo mogoče najti ali ne spada v ta projekt" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "mora biti član projekta" @@ -2144,6 +2151,7 @@ sl: responsible: "Odgovorni" shared: "Shared" watched: "Opazovalec" + reminder: "Reminder" facets: unread: "Neprebrano" unread_title: "Pokaži neprebrano" @@ -2351,7 +2359,6 @@ sl: label_enterprise_active_users: "%{current} /%{limit} rezervirani aktivni uporabniki" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Okolje" label_estimates_and_progress: "Estimates and progress" label_equals: "je" @@ -2700,6 +2707,7 @@ sl: label_this_month: "Ta mesec" label_this_week: "ta teden" label_this_year: "to leto" + label_time: "Time" label_time_entry_plural: "Porabljen čas" label_time_entry_activity_plural: "Spent time activities" label_title: "Naslov" @@ -3857,6 +3865,12 @@ sl: edit_description: "Can view, comment and edit this work package." view: "Ogled" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/sr.yml b/config/locales/crowdin/sr.yml index b4c1eaf72228..64d3af8884cb 100644 --- a/config/locales/crowdin/sr.yml +++ b/config/locales/crowdin/sr.yml @@ -863,6 +863,9 @@ sr: lag: "Lag" from: "Work package" to: "Related work package" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1451,6 +1454,7 @@ sr: login: "Username" mail: "Email" name: "Name" + note: "Note" password: "Password" priority: "Priority" project: "Project" @@ -1547,6 +1551,7 @@ sr: button_print: "Print" button_quote: "Quote" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "Rename" button_replace: "Replace" button_revoke: "Revoke" @@ -1557,6 +1562,7 @@ sr: button_save_as: "Save as" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "Show" button_sort: "Sort" button_submit: "Submit" @@ -1780,12 +1786,12 @@ sr: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1818,6 +1824,7 @@ sr: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "must be project member" @@ -2111,6 +2118,7 @@ sr: responsible: "Accountable" shared: "Shared" watched: "Watcher" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2318,7 +2326,6 @@ sr: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2667,6 +2674,7 @@ sr: label_this_month: "this month" label_this_week: "this week" label_this_year: "this year" + label_time: "Time" label_time_entry_plural: "Spent time" label_time_entry_activity_plural: "Spent time activities" label_title: "Title" @@ -3822,6 +3830,12 @@ sr: edit_description: "Can view, comment and edit this work package." view: "View" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/sv.yml b/config/locales/crowdin/sv.yml index e683e815a706..8be74eafa698 100644 --- a/config/locales/crowdin/sv.yml +++ b/config/locales/crowdin/sv.yml @@ -854,6 +854,9 @@ sv: lag: "Lag" from: "Arbetspaket" to: "Relaterat arbetspaketet" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1432,6 +1435,7 @@ sv: login: "Användarnamn" mail: "E-post" name: "Namn" + note: "Note" password: "Lösenord" priority: "Prioritet" project: "Projekt" @@ -1528,6 +1532,7 @@ sv: button_print: "Skriv ut" button_quote: "Citat" button_remove: Ta bort + button_remove_reminder: "Remove reminder" button_rename: "Ändra namn" button_replace: "Ersätt" button_revoke: "Återkalla" @@ -1538,6 +1543,7 @@ sv: button_save_as: "Spara som" button_apply_changes: "Apply changes" button_save_back: "Spara och återgå" + button_set_reminder: "Set reminder" button_show: "Visa" button_sort: "Sortera" button_submit: "Skicka" @@ -1743,12 +1749,12 @@ sv: direction: Från vänster till höger ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Lägg till nya attributgrupper" rename_groups: "Byt namn på attributgrupper" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Arbetspaketsprioritering" enumeration_reported_project_statuses: "Rapporterad projektstatus" @@ -1781,6 +1787,7 @@ sv: error_pdf_export_too_many_columns: "För många kolumner har markerats för PDF-export. Vänlogen minska antalet kolumner." error_pdf_failed_to_export: "PDF-exporten kunde inte sparas: %{error}" error_token_authenticity: "Det gick inte att verifiera Forgery token. Försökte du skicka data på flera webbläsare eller flikar? Stäng alla flikar och försök igen." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Arbetspaketet hittades inte eller hör inte till detta projekt" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "måste vara projektmedlem" @@ -2074,6 +2081,7 @@ sv: responsible: "Huvudansvarig" shared: "Shared" watched: "Bevakare" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2281,7 +2289,6 @@ sv: label_enterprise_active_users: "%{current}/%{limit} tilldelade aktiva användare" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Miljö" label_estimates_and_progress: "Estimates and progress" label_equals: "är" @@ -2630,6 +2637,7 @@ sv: label_this_month: "denna månad" label_this_week: "denna vecka" label_this_year: "i år" + label_time: "Time" label_time_entry_plural: "Förbrukad tid" label_time_entry_activity_plural: "Spent time activities" label_title: "Titel" @@ -3779,6 +3787,12 @@ sv: edit_description: "Can view, comment and edit this work package." view: "Vy" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 användare" diff --git a/config/locales/crowdin/th.yml b/config/locales/crowdin/th.yml index 5940c6b72a0a..7bc18e323832 100644 --- a/config/locales/crowdin/th.yml +++ b/config/locales/crowdin/th.yml @@ -847,6 +847,9 @@ th: lag: "Lag" from: "ชุดภารกิจ" to: "ชุดภารกิจที่เกี่ยวข้อง" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1415,6 +1418,7 @@ th: login: "Username" mail: "อีเมล" name: "ชื่อ" + note: "Note" password: "รหัสผ่าน" priority: "ระดับความสำคัญ" project: "โครงการ" @@ -1511,6 +1515,7 @@ th: button_print: "Print" button_quote: "อ้างถึง" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "เปลี่ยนชื่อ" button_replace: "Replace" button_revoke: "Revoke" @@ -1521,6 +1526,7 @@ th: button_save_as: "บันทึกเป็น" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "แสดง" button_sort: "เรียงลำดับ" button_submit: "ส่งข้อมูล" @@ -1708,12 +1714,12 @@ th: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "ระดับความสำคัญของชุดภารกิจ" enumeration_reported_project_statuses: "สถานะโครงการที่รายงานแล้ว" @@ -1746,6 +1752,7 @@ th: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "ไม่พบชุดภารกิจ หรือชุดภารกิจไม่ได้เป็นของโครงการนี้" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "ต้องเป็นสมาชิกโครงการ" @@ -2039,6 +2046,7 @@ th: responsible: "Accountable" shared: "Shared" watched: "ผู้ดูข้อมูล" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2246,7 +2254,6 @@ th: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "สภาพแวดล้อม" label_estimates_and_progress: "Estimates and progress" label_equals: "เป็น" @@ -2595,6 +2602,7 @@ th: label_this_month: "เดือนนี้" label_this_week: "สัปดาห์นี้" label_this_year: "ปีนี้" + label_time: "Time" label_time_entry_plural: "เวลาที่ใช้" label_time_entry_activity_plural: "Spent time activities" label_title: "ชื่อเรื่อง" @@ -3744,6 +3752,12 @@ th: edit_description: "Can view, comment and edit this work package." view: "ดู" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/tr.yml b/config/locales/crowdin/tr.yml index c5267f193c46..d3bf8c9876d9 100644 --- a/config/locales/crowdin/tr.yml +++ b/config/locales/crowdin/tr.yml @@ -853,6 +853,9 @@ tr: lag: "Gecikme" from: "İş paketi" to: "İlgili iş paketi" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1431,6 +1434,7 @@ tr: login: "Kullanıcı adı" mail: "Eposta" name: "İsim" + note: "Note" password: "Parola" priority: "Öncelik" project: "Proje" @@ -1527,6 +1531,7 @@ tr: button_print: "Yazdır" button_quote: "Alıntı" button_remove: Kaldır + button_remove_reminder: "Remove reminder" button_rename: "Yeniden adlandır" button_replace: "Değiştir" button_revoke: "İptal etmek" @@ -1537,6 +1542,7 @@ tr: button_save_as: "Farklı Kaydet" button_apply_changes: "Değişiklikleri uygula" button_save_back: "Kaydet ve geri dön" + button_set_reminder: "Set reminder" button_show: "Göster" button_sort: "Sırala" button_submit: "Gönder" @@ -1742,12 +1748,12 @@ tr: direction: soldan sağa ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Bu ek eklentilerle form yapılandırmasını özelleştirin:" add_groups: "Yeni öznitelik grubu ekleyin" rename_groups: "Öznitelik grubunun adını değiştirin" - project_filters: - description_html: "Özel alanlarda filtreleme ve sıralama, bir Enterprise sürümü eklentisidir." enumeration_activities: "Zaman izleme faaliyetleri" enumeration_work_package_priorities: "İş paketi öncelikleri" enumeration_reported_project_statuses: "Bildirilen proje durumları" @@ -1780,6 +1786,7 @@ tr: error_pdf_export_too_many_columns: "PDF Dışa Aktarma için çok fazla sütun seçili. Sütun sayısını azaltın." error_pdf_failed_to_export: "PDF çıktısı kaydedilemedi: %{error}" error_token_authenticity: "Siteler Arası İstek Sahteciliği belirteci doğrulanamadı. Birden fazla tarayıcı veya sekme hakkında veri göndermeyi denediniz mi? Lütfen tüm sekmeleri kapatın ve tekrar deneyin" + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Iş paketi bulunamadı veya bu projeye ait değil" error_work_package_id_not_found: "İş paketi bulunamadı." error_must_be_project_member: "projesi üyesi olmalıdır" @@ -2073,6 +2080,7 @@ tr: responsible: "Sorumlu" shared: "Shared" watched: "Takipçi" + reminder: "Reminder" facets: unread: "okunmamış" unread_title: "Okunmayanları göster" @@ -2280,7 +2288,6 @@ tr: label_enterprise_active_users: "%{current}/%{limit} aktif kullanıcı rezervasyonu" label_enterprise_edition: "Enterprise sürüm" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Ortam" label_estimates_and_progress: "Estimates and progress" label_equals: "şuysa" @@ -2629,6 +2636,7 @@ tr: label_this_month: "bu ay" label_this_week: "bu hafta" label_this_year: "bu yıl" + label_time: "Time" label_time_entry_plural: "Harcanan zaman" label_time_entry_activity_plural: "Spent time activities" label_title: "Başlık" @@ -3778,6 +3786,12 @@ tr: edit_description: "Can view, comment and edit this work package." view: "Göster" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/uk.yml b/config/locales/crowdin/uk.yml index 3009e1859e7b..68c36de7fee2 100644 --- a/config/locales/crowdin/uk.yml +++ b/config/locales/crowdin/uk.yml @@ -864,6 +864,9 @@ uk: lag: "Затримка" from: "Пакет робіт" to: "Пов'язаний робочий пакет" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "Посилання" role: @@ -1462,6 +1465,7 @@ uk: login: "Ім'я користувача" mail: "Електронна пошта" name: "Ім’я" + note: "Note" password: "Пароль" priority: "Пріоритет" project: "Проект" @@ -1558,6 +1562,7 @@ uk: button_print: "Друкувати" button_quote: "Цитата" button_remove: Видалити + button_remove_reminder: "Remove reminder" button_rename: "Перейменувати" button_replace: "Замінити" button_revoke: "Скасувати" @@ -1568,6 +1573,7 @@ uk: button_save_as: "Зберегти як" button_apply_changes: "Застосувати зміни" button_save_back: "Зберегти та повернутися назад" + button_set_reminder: "Set reminder" button_show: "Показати" button_sort: "Сортувати" button_submit: "Підтвердити" @@ -1809,12 +1815,12 @@ uk: direction: зліва направо ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Налаштуйте конфігурацію форми за допомогою цих додаткових доповнень:" add_groups: "Додати нові групи атрибутів" rename_groups: "Перейменувати групи атрибутів" - project_filters: - description_html: "Фільтрування і сортування за користувацькими полями доступне як доповнення версії Enterprise." enumeration_activities: "Дії щодо відстеження часу" enumeration_work_package_priorities: "Пріоритети робочого пакету" enumeration_reported_project_statuses: "Повідомлення про статус проекту" @@ -1847,6 +1853,7 @@ uk: error_pdf_export_too_many_columns: "Для експорту PDF-файлу вибрано занадто багато стовпців. Скоротіть кількість стовпців." error_pdf_failed_to_export: "Експорт PDF не вдалося зберегти: %{error}" error_token_authenticity: "Неможливо підтвердити маркер підробки для запиту між сайтами. Чи спробували ви надіслати дані для кількох веб-переглядачів або вкладок? Закрийте всі вкладки та повторіть спробу." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Робочий пакет не був знайдений або не належить до цього проекту" error_work_package_id_not_found: "Пакет робіт не знайдено." error_must_be_project_member: "повинен бути учасником проекту" @@ -2140,6 +2147,7 @@ uk: responsible: "Відповідальний" shared: "У спільному доступі" watched: "Спостерігач" + reminder: "Reminder" facets: unread: "Непрочитані" unread_title: "Показати непрочитані" @@ -2347,7 +2355,6 @@ uk: label_enterprise_active_users: "%{current}/%{limit} зареєстровано активних користувачів" label_enterprise_edition: "Версія Enterprise" label_enterprise_support: "Корпоративна підтримка" - label_enterprise_addon: "Доповнення версії Enterprise" label_environment: "Навколишнє середовище" label_estimates_and_progress: "Оцінки й прогрес виконання" label_equals: "є" @@ -2696,6 +2703,7 @@ uk: label_this_month: "цього місяця" label_this_week: "цього тижня" label_this_year: "цей рік" + label_time: "Time" label_time_entry_plural: "Трудовитрати" label_time_entry_activity_plural: "Завдання з обліком часу" label_title: "Назва" @@ -3851,6 +3859,12 @@ uk: edit_description: "Може переглядати, коментувати й редагувати цей пакет робіт." view: "Перегляд" view_description: "Може переглядати цей пакет робіт." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 користувачів" diff --git a/config/locales/crowdin/uz.yml b/config/locales/crowdin/uz.yml index 7ceee0d5ced0..215adb91cc82 100644 --- a/config/locales/crowdin/uz.yml +++ b/config/locales/crowdin/uz.yml @@ -855,6 +855,9 @@ uz: lag: "Lag" from: "Work package" to: "Related work package" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1433,6 +1436,7 @@ uz: login: "Username" mail: "Email" name: "Name" + note: "Note" password: "Password" priority: "Priority" project: "Project" @@ -1529,6 +1533,7 @@ uz: button_print: "Print" button_quote: "Quote" button_remove: Remove + button_remove_reminder: "Remove reminder" button_rename: "Rename" button_replace: "Replace" button_revoke: "Revoke" @@ -1539,6 +1544,7 @@ uz: button_save_as: "Save as" button_apply_changes: "Apply changes" button_save_back: "Save and back" + button_set_reminder: "Set reminder" button_show: "Show" button_sort: "Sort" button_submit: "Submit" @@ -1744,12 +1750,12 @@ uz: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" rename_groups: "Rename attributes groups" - project_filters: - description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." enumeration_activities: "Time tracking activities" enumeration_work_package_priorities: "Work package priorities" enumeration_reported_project_statuses: "Reported project status" @@ -1782,6 +1788,7 @@ uz: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_work_package_id_not_found: "The work package was not found." error_must_be_project_member: "must be project member" @@ -2075,6 +2082,7 @@ uz: responsible: "Accountable" shared: "Shared" watched: "Watcher" + reminder: "Reminder" facets: unread: "Unread" unread_title: "Show unread" @@ -2282,7 +2290,6 @@ uz: label_enterprise_active_users: "%{current}/%{limit} booked active users" label_enterprise_edition: "Enterprise edition" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "Enterprise add-on" label_environment: "Environment" label_estimates_and_progress: "Estimates and progress" label_equals: "is" @@ -2631,6 +2638,7 @@ uz: label_this_month: "this month" label_this_week: "this week" label_this_year: "this year" + label_time: "Time" label_time_entry_plural: "Spent time" label_time_entry_activity_plural: "Spent time activities" label_title: "Title" @@ -3783,6 +3791,12 @@ uz: edit_description: "Can view, comment and edit this work package." view: "View" view_description: "Can view this work package." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 users" diff --git a/config/locales/crowdin/vi.yml b/config/locales/crowdin/vi.yml index 207ad1e19180..c9d402cd9bc8 100644 --- a/config/locales/crowdin/vi.yml +++ b/config/locales/crowdin/vi.yml @@ -849,6 +849,9 @@ vi: lag: "Kết quả chậm" from: "Gói công việc" to: "Work package liên quan" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "Đường dẫn (URL)" role: @@ -1417,6 +1420,7 @@ vi: login: "Tên người dùng" mail: "Thư điện tử" name: "Tên" + note: "Note" password: "Mật khẩu" priority: "Ưu tiên" project: "Dự án" @@ -1513,6 +1517,7 @@ vi: button_print: "In" button_quote: "Trích dẫn" button_remove: Xoá + button_remove_reminder: "Remove reminder" button_rename: "Đổi tên" button_replace: "Thay thế" button_revoke: "Thu hồi" @@ -1523,6 +1528,7 @@ vi: button_save_as: "Lưu thành" button_apply_changes: "Áp dụng thay đổi" button_save_back: "Lưu và trở lại" + button_set_reminder: "Set reminder" button_show: "Hiện" button_sort: "Sắp xếp" button_submit: "Gửi" @@ -1710,12 +1716,12 @@ vi: direction: ltr ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "Tùy chỉnh cấu hình mẫu với các tiện ích bổ sung sau:" add_groups: "Thêm 1 nhóm thuộc tính" rename_groups: "Đổi tên nhóm thuộc tính" - project_filters: - description_html: "Lọc và sắp xếp trên các trường tùy chỉnh là một tiện ích bổ sung của phiên bản Enterprise." enumeration_activities: "Theo dõi hoạt động" enumeration_work_package_priorities: "Độ ưu tiên của work package" enumeration_reported_project_statuses: "Tình trạng dự án đã báo cáo" @@ -1748,6 +1754,7 @@ vi: error_pdf_export_too_many_columns: "Quá nhiều cột được chọn cho xuất PDF. Vui lòng giảm số lượng cột." error_pdf_failed_to_export: "Xuất PDF không thể được lưu: %{error}" error_token_authenticity: "Không thể xác minh token Cross-Site Request Forgery. Bạn có cố gắng gửi dữ liệu trên nhiều trình duyệt hoặc tab không? Vui lòng đóng tất cả các tab và thử lại." + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "Work package không được tìm thấy hoặc không thuộc về dự án này" error_work_package_id_not_found: "Không tìm thấy gói công việc." error_must_be_project_member: "phải là thành viên dự án" @@ -2041,6 +2048,7 @@ vi: responsible: "Có trách nhiệm" shared: "Được chia sẻ" watched: "Quan sát viên" + reminder: "Reminder" facets: unread: "Chưa đọc" unread_title: "Hiện chưa đọc" @@ -2248,7 +2256,6 @@ vi: label_enterprise_active_users: "%{current}/%{limit} người dùng đang hoạt động đã đặt chỗ" label_enterprise_edition: "Phiên bản doanh nghiệp" label_enterprise_support: "Hỗ trợ doanh nghiệp" - label_enterprise_addon: "Tiện ích mở rộng doanh nghiệp" label_environment: "Môi trường" label_estimates_and_progress: "Ước lượng và tiến độ" label_equals: "là" @@ -2597,6 +2604,7 @@ vi: label_this_month: "tháng này" label_this_week: "tuần này" label_this_year: "năm này" + label_time: "Time" label_time_entry_plural: "Thời gian đã tiêu tốn" label_time_entry_activity_plural: "Hoạt động thời gian đã tiêu tốn" label_title: "Tiêu đề" @@ -3745,6 +3753,12 @@ vi: edit_description: "Có thể xem, nhận xét và chỉnh sửa gói công việc này." view: "Xem" view_description: "Có thể xem gói công việc này." + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 người dùng" diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index 5092388d21dd..97724e131a4b 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -842,6 +842,9 @@ zh-CN: lag: "延迟" from: "工作包" to: "相关的工作包" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1410,6 +1413,7 @@ zh-CN: login: "用户名" mail: "电子邮件" name: "名称" + note: "Note" password: "密码" priority: "优先级" project: "项目" @@ -1506,6 +1510,7 @@ zh-CN: button_print: "打印" button_quote: "引用" button_remove: 移除 + button_remove_reminder: "Remove reminder" button_rename: "重命名" button_replace: "替换" button_revoke: "撤消" @@ -1516,6 +1521,7 @@ zh-CN: button_save_as: "另存为" button_apply_changes: "应用更改" button_save_back: "保存并返回" + button_set_reminder: "Set reminder" button_show: "显示" button_sort: "排序" button_submit: "提交" @@ -1703,12 +1709,12 @@ zh-CN: direction: 从左向右 ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "使用以下附加组件自定义表单配置:" add_groups: "添加新属性组" rename_groups: "重命名属性组" - project_filters: - description_html: "自定义字段的过滤和排序是企业版附加组件。" enumeration_activities: "时间跟踪活动" enumeration_work_package_priorities: "工作包优先级" enumeration_reported_project_statuses: "报告的项目状态" @@ -1741,6 +1747,7 @@ zh-CN: error_pdf_export_too_many_columns: "选择 PDF 导出的列太多。请减少列数。" error_pdf_failed_to_export: "无法保存被导出的 PDF 文件:%{error}" error_token_authenticity: "无法验证跨站请求伪造令牌。您是否曾尝试在多个浏览器或选项卡上提交数据?请关闭所有选项卡并重试。" + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "工作包找不到或不属于此项目" error_work_package_id_not_found: "工作包未找到" error_must_be_project_member: "必须是项目成员" @@ -2034,6 +2041,7 @@ zh-CN: responsible: "负责人" shared: "共享" watched: "关注人" + reminder: "Reminder" facets: unread: "未读" unread_title: "显示未读信息" @@ -2241,7 +2249,6 @@ zh-CN: label_enterprise_active_users: "%{current}/%{limit} 已预订的活跃用户" label_enterprise_edition: "企业版" label_enterprise_support: "企业支持" - label_enterprise_addon: "企业版附加组件" label_environment: "环境" label_estimates_and_progress: "预估和进度" label_equals: "是" @@ -2590,6 +2597,7 @@ zh-CN: label_this_month: "这个月" label_this_week: "这一周" label_this_year: "这一年" + label_time: "Time" label_time_entry_plural: "已耗工时" label_time_entry_activity_plural: "花费时间的活动" label_title: "标题" @@ -3733,6 +3741,12 @@ zh-CN: edit_description: "可以查看、评论和编辑此工作包。" view: "查看" view_description: "可以查看此工作包。" + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0 个用户" diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index 686498223b8a..ceb2e35c66ae 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -647,11 +647,11 @@ zh-TW: label_relates_to_plural: "相關於" relates_description: "在兩個工作項目之間建立可見的連結,沒有額外影響" relates_to_description: "在兩個工作項目之間建立可見的連結,沒有額外影響" - label_precedes_singular: "繼承(後)" - label_precedes_plural: "繼承(後)" + label_precedes_singular: "後置任務(FS)" + label_precedes_plural: "後置任務(FS)" precedes_description: "相關的工作項目必須在完成後才開始執行" - label_follows_singular: "繼承(前)" - label_follows_plural: "繼承(前)" + label_follows_singular: "前置任務(SF)" + label_follows_plural: "前置任務(SF)" follows_description: "在這個工作項目開始之前,相關的工作必須先完成" label_child_singular: "子項目" label_child_plural: "子項目" @@ -844,6 +844,9 @@ zh-TW: lag: "延遲" from: "工作項目" to: "相關的工作項目" + reminder: + remind_at_date: "Date" + remind_at_time: "Time" repository: url: "URL" role: @@ -1412,6 +1415,7 @@ zh-TW: login: "使用者帳號" mail: "電子郵件" name: "名稱" + note: "Note" password: "密碼" priority: "優先等級" project: "專案" @@ -1508,6 +1512,7 @@ zh-TW: button_print: "列印" button_quote: "引言" button_remove: 刪除 + button_remove_reminder: "Remove reminder" button_rename: "重新命名" button_replace: "取代" button_revoke: "撤銷" @@ -1518,6 +1523,7 @@ zh-TW: button_save_as: "另存為" button_apply_changes: "套用設定" button_save_back: "儲存並返回" + button_set_reminder: "Set reminder" button_show: "顯示" button_sort: "排序" button_submit: "提交" @@ -1705,12 +1711,12 @@ zh-TW: direction: 由左至右 ee: upsale: + title: "Enterprise add-on" + link_title: "More information" form_configuration: description: "使用以下附加組件自定義表單配置:" add_groups: "增加新的屬性群組" rename_groups: "重新命名屬性群组" - project_filters: - description_html: "自訂過濾條件和排序是企業版功能" enumeration_activities: "時間追蹤活動" enumeration_work_package_priorities: "工作項目優先等級" enumeration_reported_project_statuses: "報告的專案狀態" @@ -1743,6 +1749,7 @@ zh-TW: error_pdf_export_too_many_columns: "為 PDF 匯出選擇的列太多。請減少列數。" error_pdf_failed_to_export: "無法另存 pdf 匯出: %{error}" error_token_authenticity: "無法驗證跨網域請求權杖(Token)。你是不是試圖在多個瀏覽器或者分頁上傳送資料?請關閉所有的分頁後再試一次。" + error_reminder_not_found: "The reminder was not found or was already notified about." error_work_package_not_found_in_project: "工作項目找不到或是不屬於這個專案" error_work_package_id_not_found: "無此工作項目" error_must_be_project_member: "必須是專案的成員" @@ -2036,6 +2043,7 @@ zh-TW: responsible: "負責人" shared: "參與" watched: "監看者" + reminder: "Reminder" facets: unread: "未讀" unread_title: "顯示未讀" @@ -2243,7 +2251,6 @@ zh-TW: label_enterprise_active_users: "%{current}/%{limit} 已預訂的活動使用者" label_enterprise_edition: "企業版" label_enterprise_support: "Enterprise support" - label_enterprise_addon: "企業版附加插件" label_environment: "環境" label_estimates_and_progress: "預估和進度" label_equals: "是" @@ -2592,6 +2599,7 @@ zh-TW: label_this_month: "本月" label_this_week: "本週" label_this_year: "今年" + label_time: "Time" label_time_entry_plural: "耗時" label_time_entry_activity_plural: "耗時活動" label_title: "標題" @@ -3739,6 +3747,12 @@ zh-TW: edit_description: "可以查看,留言與編輯此工作項目" view: "檢視" view_description: "查看此工作項目" + reminders: + label_remind_at: "Date" + note_placeholder: "Why are you setting this reminder?" + success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." + success_update_message: "Reminder updated successfully." + success_deletion_message: "Reminder deleted successfully." sharing: count: zero: "0個用戶" diff --git a/modules/bim/config/locales/crowdin/af.yml b/modules/bim/config/locales/crowdin/af.yml index 00e78e306103..aeff38e4ab86 100644 --- a/modules/bim/config/locales/crowdin/af.yml +++ b/modules/bim/config/locales/crowdin/af.yml @@ -9,6 +9,7 @@ af: label_bcf: 'BSF' label_imported_failed: 'Mislukte invoer van BSF-onderwerpe' label_imported_successfully: 'BSF-onderwerpe is suksesvol ingevoer' + label_bcf_issue_associated: "BCF issue associated" issues: "Kwessies" recommended: 'aanbeveelde' not_recommended: 'nie aanbeveel nie' diff --git a/modules/bim/config/locales/crowdin/ar.yml b/modules/bim/config/locales/crowdin/ar.yml index 11ca419ea133..7ebcd439c854 100644 --- a/modules/bim/config/locales/crowdin/ar.yml +++ b/modules/bim/config/locales/crowdin/ar.yml @@ -9,6 +9,7 @@ ar: label_bcf: 'BCF' label_imported_failed: 'فشل استيراد مواضيع BCF' label_imported_successfully: 'تم استيراد موضوعات BCF بنجاح' + label_bcf_issue_associated: "BCF issue associated" issues: "مشاكل" recommended: 'موصى بها' not_recommended: 'غير موصى بها' diff --git a/modules/bim/config/locales/crowdin/az.yml b/modules/bim/config/locales/crowdin/az.yml index 7d8823bf14be..65591209d6b0 100644 --- a/modules/bim/config/locales/crowdin/az.yml +++ b/modules/bim/config/locales/crowdin/az.yml @@ -9,6 +9,7 @@ az: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/be.yml b/modules/bim/config/locales/crowdin/be.yml index ba9dc4cde091..1269b044823c 100644 --- a/modules/bim/config/locales/crowdin/be.yml +++ b/modules/bim/config/locales/crowdin/be.yml @@ -9,6 +9,7 @@ be: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/bg.yml b/modules/bim/config/locales/crowdin/bg.yml index a78afaf5c3b1..8e8f97b9f6ac 100644 --- a/modules/bim/config/locales/crowdin/bg.yml +++ b/modules/bim/config/locales/crowdin/bg.yml @@ -9,6 +9,7 @@ bg: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/ca.yml b/modules/bim/config/locales/crowdin/ca.yml index 155aaf7d266d..af2ea128aa7e 100644 --- a/modules/bim/config/locales/crowdin/ca.yml +++ b/modules/bim/config/locales/crowdin/ca.yml @@ -9,6 +9,7 @@ ca: label_bcf: 'BCF' label_imported_failed: 'Importació de temes BCF no reeixida' label_imported_successfully: 'S''ha importat els temes BCF correctament.' + label_bcf_issue_associated: "BCF issue associated" issues: "Problemes" recommended: 'recomanat' not_recommended: 'no recomanat' diff --git a/modules/bim/config/locales/crowdin/ckb-IR.yml b/modules/bim/config/locales/crowdin/ckb-IR.yml index 63c610ae7f6f..d149aea8e9fa 100644 --- a/modules/bim/config/locales/crowdin/ckb-IR.yml +++ b/modules/bim/config/locales/crowdin/ckb-IR.yml @@ -9,6 +9,7 @@ ckb-IR: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/cs.yml b/modules/bim/config/locales/crowdin/cs.yml index 14cb64db1b34..e0abce3e1827 100644 --- a/modules/bim/config/locales/crowdin/cs.yml +++ b/modules/bim/config/locales/crowdin/cs.yml @@ -9,6 +9,7 @@ cs: label_bcf: 'BCF' label_imported_failed: 'Selhalo importování témat BCF' label_imported_successfully: 'Importovaná témata BCF úspěšně' + label_bcf_issue_associated: "BCF issue associated" issues: "Problémy" recommended: 'doporučeno' not_recommended: 'nedoporučeno' diff --git a/modules/bim/config/locales/crowdin/da.yml b/modules/bim/config/locales/crowdin/da.yml index 484e0b0cdc2c..a07856feffa0 100644 --- a/modules/bim/config/locales/crowdin/da.yml +++ b/modules/bim/config/locales/crowdin/da.yml @@ -9,6 +9,7 @@ da: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/de.yml b/modules/bim/config/locales/crowdin/de.yml index 88b080092141..0ce37edd4756 100644 --- a/modules/bim/config/locales/crowdin/de.yml +++ b/modules/bim/config/locales/crowdin/de.yml @@ -9,6 +9,7 @@ de: label_bcf: 'BCF' label_imported_failed: 'Fehler beim Import von BCF-Themen' label_imported_successfully: 'Erfolgreich importierte Einträge' + label_bcf_issue_associated: "BCF issue associated" issues: "Probleme" recommended: 'empfohlen' not_recommended: 'nicht empfohlen' diff --git a/modules/bim/config/locales/crowdin/el.yml b/modules/bim/config/locales/crowdin/el.yml index 5a8acb456cd1..abd8826b8637 100644 --- a/modules/bim/config/locales/crowdin/el.yml +++ b/modules/bim/config/locales/crowdin/el.yml @@ -9,6 +9,7 @@ el: label_bcf: 'BCF' label_imported_failed: 'Αποτυχημένες εισαγωγές των θεμάτων BCF' label_imported_successfully: 'Επιτυχής εισαγωγή θέματων BCF' + label_bcf_issue_associated: "BCF issue associated" issues: "Ζητήματα" recommended: 'προτεινόμενο' not_recommended: 'δεν συνιστάται' diff --git a/modules/bim/config/locales/crowdin/eo.yml b/modules/bim/config/locales/crowdin/eo.yml index 38181d844d4e..6a32b767e8c1 100644 --- a/modules/bim/config/locales/crowdin/eo.yml +++ b/modules/bim/config/locales/crowdin/eo.yml @@ -9,6 +9,7 @@ eo: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/es.yml b/modules/bim/config/locales/crowdin/es.yml index a10876169bee..699f6721a61f 100644 --- a/modules/bim/config/locales/crowdin/es.yml +++ b/modules/bim/config/locales/crowdin/es.yml @@ -9,6 +9,7 @@ es: label_bcf: 'BCF' label_imported_failed: 'No se pudieron importar los temas de BCF' label_imported_successfully: 'Los temas de BCF se importaron correctamente' + label_bcf_issue_associated: "BCF issue associated" issues: "Incidencias" recommended: 'recomendado' not_recommended: 'no recomendado' diff --git a/modules/bim/config/locales/crowdin/et.yml b/modules/bim/config/locales/crowdin/et.yml index d52d1ab243b1..c715b81577a8 100644 --- a/modules/bim/config/locales/crowdin/et.yml +++ b/modules/bim/config/locales/crowdin/et.yml @@ -9,6 +9,7 @@ et: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/eu.yml b/modules/bim/config/locales/crowdin/eu.yml index c122c85cb45e..80e1a788ff51 100644 --- a/modules/bim/config/locales/crowdin/eu.yml +++ b/modules/bim/config/locales/crowdin/eu.yml @@ -9,6 +9,7 @@ eu: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/fa.yml b/modules/bim/config/locales/crowdin/fa.yml index cd6bec3ebd3d..7acc2eab619d 100644 --- a/modules/bim/config/locales/crowdin/fa.yml +++ b/modules/bim/config/locales/crowdin/fa.yml @@ -9,6 +9,7 @@ fa: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'موضوعات BCF با موفقیت درون‌ریزی شد' + label_bcf_issue_associated: "BCF issue associated" issues: "مشکلات" recommended: 'پیشنهادی' not_recommended: 'پیشنهاد نشده' diff --git a/modules/bim/config/locales/crowdin/fi.yml b/modules/bim/config/locales/crowdin/fi.yml index af8f559a5478..b1ccee6c520d 100644 --- a/modules/bim/config/locales/crowdin/fi.yml +++ b/modules/bim/config/locales/crowdin/fi.yml @@ -9,6 +9,7 @@ fi: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'suositellut' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/fil.yml b/modules/bim/config/locales/crowdin/fil.yml index 7fcffceffb30..81ff5c18889d 100644 --- a/modules/bim/config/locales/crowdin/fil.yml +++ b/modules/bim/config/locales/crowdin/fil.yml @@ -9,6 +9,7 @@ fil: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/fr.yml b/modules/bim/config/locales/crowdin/fr.yml index 1be78163d4bc..1bcc6d0df30b 100644 --- a/modules/bim/config/locales/crowdin/fr.yml +++ b/modules/bim/config/locales/crowdin/fr.yml @@ -9,6 +9,7 @@ fr: label_bcf: 'BCF' label_imported_failed: 'Impossible d''importer les sujets BCF' label_imported_successfully: 'Sujets BCF importés avec succès' + label_bcf_issue_associated: "BCF issue associated" issues: "Problèmes" recommended: 'recommandé' not_recommended: 'déconseillé' diff --git a/modules/bim/config/locales/crowdin/he.yml b/modules/bim/config/locales/crowdin/he.yml index a1eda3ce2252..50d6bdd12b1f 100644 --- a/modules/bim/config/locales/crowdin/he.yml +++ b/modules/bim/config/locales/crowdin/he.yml @@ -9,6 +9,7 @@ he: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/hi.yml b/modules/bim/config/locales/crowdin/hi.yml index b443b6c6159c..c6b599d9e651 100644 --- a/modules/bim/config/locales/crowdin/hi.yml +++ b/modules/bim/config/locales/crowdin/hi.yml @@ -9,6 +9,7 @@ hi: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/hr.yml b/modules/bim/config/locales/crowdin/hr.yml index 3bb911736ff0..0b91a958972a 100644 --- a/modules/bim/config/locales/crowdin/hr.yml +++ b/modules/bim/config/locales/crowdin/hr.yml @@ -9,6 +9,7 @@ hr: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/hu.yml b/modules/bim/config/locales/crowdin/hu.yml index 2bbd50f01874..31dc9b7661d2 100644 --- a/modules/bim/config/locales/crowdin/hu.yml +++ b/modules/bim/config/locales/crowdin/hu.yml @@ -9,6 +9,7 @@ hu: label_bcf: 'BCF' label_imported_failed: 'Hiba a BCF topocs importálásakor' label_imported_successfully: 'Sikeres BCF import' + label_bcf_issue_associated: "BCF issue associated" issues: "Feladat" recommended: 'Ajánlott' not_recommended: 'nem ajánlott' diff --git a/modules/bim/config/locales/crowdin/id.yml b/modules/bim/config/locales/crowdin/id.yml index 77bc93dfeabe..62a96cb4f14c 100644 --- a/modules/bim/config/locales/crowdin/id.yml +++ b/modules/bim/config/locales/crowdin/id.yml @@ -9,6 +9,7 @@ id: label_bcf: 'BCF' label_imported_failed: 'Gagal mengimport topik BCF' label_imported_successfully: 'Berhasil mengimport topik BCF' + label_bcf_issue_associated: "BCF issue associated" issues: "Masalah" recommended: 'Disarankan' not_recommended: 'Tidak disarankan' diff --git a/modules/bim/config/locales/crowdin/it.yml b/modules/bim/config/locales/crowdin/it.yml index 1e227d617269..699fd5a652d3 100644 --- a/modules/bim/config/locales/crowdin/it.yml +++ b/modules/bim/config/locales/crowdin/it.yml @@ -9,6 +9,7 @@ it: label_bcf: 'BCF' label_imported_failed: 'Importazione di argomenti BCF non riuscita' label_imported_successfully: 'Argomenti BCF importati con successo' + label_bcf_issue_associated: "BCF issue associated" issues: "Problemi" recommended: 'consigliato' not_recommended: 'non consigliato' diff --git a/modules/bim/config/locales/crowdin/ja.yml b/modules/bim/config/locales/crowdin/ja.yml index 0ea3c866dfb7..9f900f84fa1d 100644 --- a/modules/bim/config/locales/crowdin/ja.yml +++ b/modules/bim/config/locales/crowdin/ja.yml @@ -9,6 +9,7 @@ ja: label_bcf: 'BCF' label_imported_failed: 'BCFトピックのインポートに失敗しました' label_imported_successfully: 'BCFトピックを正常にインポートしました' + label_bcf_issue_associated: "BCF issue associated" issues: "チケット" recommended: '推奨' not_recommended: '非推奨' diff --git a/modules/bim/config/locales/crowdin/ka.yml b/modules/bim/config/locales/crowdin/ka.yml index bdc43b04e070..70fca6f04f69 100644 --- a/modules/bim/config/locales/crowdin/ka.yml +++ b/modules/bim/config/locales/crowdin/ka.yml @@ -9,6 +9,7 @@ ka: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "შენიშვნები" recommended: 'რეკომენდებულია' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/kk.yml b/modules/bim/config/locales/crowdin/kk.yml index 8d7d35ffd47a..ae4970022096 100644 --- a/modules/bim/config/locales/crowdin/kk.yml +++ b/modules/bim/config/locales/crowdin/kk.yml @@ -9,6 +9,7 @@ kk: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/ko.yml b/modules/bim/config/locales/crowdin/ko.yml index 7676527e9ad1..13afd9382cc0 100644 --- a/modules/bim/config/locales/crowdin/ko.yml +++ b/modules/bim/config/locales/crowdin/ko.yml @@ -9,6 +9,7 @@ ko: label_bcf: 'BCF' label_imported_failed: 'BCF 항목 가져오기 실패' label_imported_successfully: 'BCF 항목 가져오기 성공' + label_bcf_issue_associated: "BCF issue associated" issues: "이슈" recommended: '추천' not_recommended: '추천하지 않음' diff --git a/modules/bim/config/locales/crowdin/lt.yml b/modules/bim/config/locales/crowdin/lt.yml index 7073e36534fb..96a0ffd308ed 100644 --- a/modules/bim/config/locales/crowdin/lt.yml +++ b/modules/bim/config/locales/crowdin/lt.yml @@ -9,6 +9,7 @@ lt: label_bcf: 'BCF' label_imported_failed: 'BCF temų importas nepavyko' label_imported_successfully: 'BCF temos sėkmingai importuotos' + label_bcf_issue_associated: "BCF issue associated" issues: "Trūkumai" recommended: 'rekomenduojama' not_recommended: 'nerekomenduojama' diff --git a/modules/bim/config/locales/crowdin/lv.yml b/modules/bim/config/locales/crowdin/lv.yml index 96d2e45449a9..35be104e340c 100644 --- a/modules/bim/config/locales/crowdin/lv.yml +++ b/modules/bim/config/locales/crowdin/lv.yml @@ -9,6 +9,7 @@ lv: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/mn.yml b/modules/bim/config/locales/crowdin/mn.yml index e040cc037792..7587b60f15ec 100644 --- a/modules/bim/config/locales/crowdin/mn.yml +++ b/modules/bim/config/locales/crowdin/mn.yml @@ -9,6 +9,7 @@ mn: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/ms.yml b/modules/bim/config/locales/crowdin/ms.yml index dff87b50b925..6fe1a272c62c 100644 --- a/modules/bim/config/locales/crowdin/ms.yml +++ b/modules/bim/config/locales/crowdin/ms.yml @@ -9,6 +9,7 @@ ms: label_bcf: 'BCF' label_imported_failed: 'Import topik BCF yang gagal' label_imported_successfully: 'Import topik BCF yang berjaya' + label_bcf_issue_associated: "BCF issue associated" issues: "Isu-isu" recommended: 'disarankan' not_recommended: 'tidak disarankan' diff --git a/modules/bim/config/locales/crowdin/ne.yml b/modules/bim/config/locales/crowdin/ne.yml index e232369a455f..2be6b0381808 100644 --- a/modules/bim/config/locales/crowdin/ne.yml +++ b/modules/bim/config/locales/crowdin/ne.yml @@ -9,6 +9,7 @@ ne: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/nl.yml b/modules/bim/config/locales/crowdin/nl.yml index bc932dd36242..78cf3ea2c696 100644 --- a/modules/bim/config/locales/crowdin/nl.yml +++ b/modules/bim/config/locales/crowdin/nl.yml @@ -9,6 +9,7 @@ nl: label_bcf: 'BCF' label_imported_failed: 'Mislukte import van BCF onderwerpen' label_imported_successfully: 'Succesvol BCF onderwerpen geïmporteerd' + label_bcf_issue_associated: "BCF issue associated" issues: "Problemen" recommended: 'aanbevolen' not_recommended: 'niet aanbevolen' diff --git a/modules/bim/config/locales/crowdin/no.yml b/modules/bim/config/locales/crowdin/no.yml index ae655052c08a..7681c1727688 100644 --- a/modules/bim/config/locales/crowdin/no.yml +++ b/modules/bim/config/locales/crowdin/no.yml @@ -9,6 +9,7 @@ label_bcf: 'BCF' label_imported_failed: 'Kunne ikke importere BCF-emner' label_imported_successfully: 'Vellykket importert av BCF-emner' + label_bcf_issue_associated: "BCF issue associated" issues: "Problemer" recommended: 'anbefalt' not_recommended: 'ikke anbefalt' diff --git a/modules/bim/config/locales/crowdin/pl.yml b/modules/bim/config/locales/crowdin/pl.yml index 80c3d0088a03..b82710480df0 100644 --- a/modules/bim/config/locales/crowdin/pl.yml +++ b/modules/bim/config/locales/crowdin/pl.yml @@ -9,6 +9,7 @@ pl: label_bcf: 'BCF' label_imported_failed: 'Nieudane importy tematów BCF' label_imported_successfully: 'Zaimportowane z powodzeniem tematy BCF' + label_bcf_issue_associated: "BCF issue associated" issues: "Problemy" recommended: 'zalecane' not_recommended: 'niezalecane' diff --git a/modules/bim/config/locales/crowdin/pt-BR.yml b/modules/bim/config/locales/crowdin/pt-BR.yml index 9c8b89a127b9..e191f45cdbd0 100644 --- a/modules/bim/config/locales/crowdin/pt-BR.yml +++ b/modules/bim/config/locales/crowdin/pt-BR.yml @@ -9,6 +9,7 @@ pt-BR: label_bcf: 'BCF' label_imported_failed: 'Importação de tópicos BCF falhou' label_imported_successfully: 'Tópicos BCF importados com sucesso' + label_bcf_issue_associated: "BCF issue associated" issues: "Problemas" recommended: 'recomendado' not_recommended: 'não recomendado' diff --git a/modules/bim/config/locales/crowdin/pt-PT.yml b/modules/bim/config/locales/crowdin/pt-PT.yml index ce55bd40cda8..f7484d9c4e13 100644 --- a/modules/bim/config/locales/crowdin/pt-PT.yml +++ b/modules/bim/config/locales/crowdin/pt-PT.yml @@ -9,6 +9,7 @@ pt-PT: label_bcf: 'BCF' label_imported_failed: 'A importação de tópicos BCF falhou' label_imported_successfully: 'Tópicos BCF importados com sucesso' + label_bcf_issue_associated: "BCF issue associated" issues: "Problemas" recommended: 'recomendado' not_recommended: 'não recomendado' diff --git a/modules/bim/config/locales/crowdin/ro.yml b/modules/bim/config/locales/crowdin/ro.yml index 16677886f798..f845ef941565 100644 --- a/modules/bim/config/locales/crowdin/ro.yml +++ b/modules/bim/config/locales/crowdin/ro.yml @@ -9,6 +9,7 @@ ro: label_bcf: 'BCF' label_imported_failed: 'Importuri eșuate de subiecte BCF' label_imported_successfully: 'Ați importat cu succes subiectele BCF' + label_bcf_issue_associated: "BCF issue associated" issues: "Sunt câteva probleme cu produsele din coșul tău. Te rog mergi înapoi la pagina coșului și remediază aceste probleme înainte de finalizarea comenzii." recommended: 'recomandat' not_recommended: 'Recomandat' diff --git a/modules/bim/config/locales/crowdin/ru.yml b/modules/bim/config/locales/crowdin/ru.yml index 9c6dccc7c3ae..048f50493a78 100644 --- a/modules/bim/config/locales/crowdin/ru.yml +++ b/modules/bim/config/locales/crowdin/ru.yml @@ -9,6 +9,7 @@ ru: label_bcf: 'BCF' label_imported_failed: 'Неудачный импорт тем BCF' label_imported_successfully: 'Успешно импортированные темы BCF' + label_bcf_issue_associated: "BCF issue associated" issues: "Замечания" recommended: 'рекомендуется' not_recommended: 'не рекомендуется' diff --git a/modules/bim/config/locales/crowdin/rw.yml b/modules/bim/config/locales/crowdin/rw.yml index c7787ca82930..bc85639e1900 100644 --- a/modules/bim/config/locales/crowdin/rw.yml +++ b/modules/bim/config/locales/crowdin/rw.yml @@ -9,6 +9,7 @@ rw: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/si.yml b/modules/bim/config/locales/crowdin/si.yml index 0073510451eb..ed5d98a46a04 100644 --- a/modules/bim/config/locales/crowdin/si.yml +++ b/modules/bim/config/locales/crowdin/si.yml @@ -9,6 +9,7 @@ si: label_bcf: 'BCF' label_imported_failed: 'BCF මාතෘකා ආනයනය අසමත්' label_imported_successfully: 'සාර්ථකව ආනයනය BCF මාතෘකා' + label_bcf_issue_associated: "BCF issue associated" issues: "ගැටළු" recommended: 'නිර්දේශ' not_recommended: 'නිර්දේශ කර නැත' diff --git a/modules/bim/config/locales/crowdin/sk.yml b/modules/bim/config/locales/crowdin/sk.yml index 115cc3abb16b..83cece88924f 100644 --- a/modules/bim/config/locales/crowdin/sk.yml +++ b/modules/bim/config/locales/crowdin/sk.yml @@ -9,6 +9,7 @@ sk: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/sl.yml b/modules/bim/config/locales/crowdin/sl.yml index 21dd1a15ba2d..2f2aa2d9b175 100644 --- a/modules/bim/config/locales/crowdin/sl.yml +++ b/modules/bim/config/locales/crowdin/sl.yml @@ -9,6 +9,7 @@ sl: label_bcf: 'BCF' label_imported_failed: 'Uvoz tematike BCF ni uspel' label_imported_successfully: 'Uspešno vnesena tematika BCF' + label_bcf_issue_associated: "BCF issue associated" issues: "Zahtevki" recommended: 'Priporočeno' not_recommended: 'ni priporočeno' diff --git a/modules/bim/config/locales/crowdin/sr.yml b/modules/bim/config/locales/crowdin/sr.yml index c58bfc06be4d..70c241a8fcf5 100644 --- a/modules/bim/config/locales/crowdin/sr.yml +++ b/modules/bim/config/locales/crowdin/sr.yml @@ -9,6 +9,7 @@ sr: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/sv.yml b/modules/bim/config/locales/crowdin/sv.yml index 565c0cd636c8..c6ba765552d5 100644 --- a/modules/bim/config/locales/crowdin/sv.yml +++ b/modules/bim/config/locales/crowdin/sv.yml @@ -9,6 +9,7 @@ sv: label_bcf: 'BCF' label_imported_failed: 'Misslyckad import av BCF-ämnen' label_imported_successfully: 'BCF-ämnen har importerats' + label_bcf_issue_associated: "BCF issue associated" issues: "Problem" recommended: 'rekommenderad' not_recommended: 'rekommenderas inte' diff --git a/modules/bim/config/locales/crowdin/th.yml b/modules/bim/config/locales/crowdin/th.yml index 8097ec79f63a..32f3ebf94e45 100644 --- a/modules/bim/config/locales/crowdin/th.yml +++ b/modules/bim/config/locales/crowdin/th.yml @@ -9,6 +9,7 @@ th: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/tr.yml b/modules/bim/config/locales/crowdin/tr.yml index 620324c49d7f..0b61a6b81f31 100644 --- a/modules/bim/config/locales/crowdin/tr.yml +++ b/modules/bim/config/locales/crowdin/tr.yml @@ -9,6 +9,7 @@ tr: label_bcf: 'BCF' label_imported_failed: 'BCF konularının başarısız ithalatı' label_imported_successfully: 'BCF konuları başarıyla içe aktarıldı' + label_bcf_issue_associated: "BCF issue associated" issues: "Sorunlar" recommended: 'Tavsiye edilen' not_recommended: 'tavsiye edilmez' diff --git a/modules/bim/config/locales/crowdin/uk.yml b/modules/bim/config/locales/crowdin/uk.yml index b067b682121b..54170c09c47b 100644 --- a/modules/bim/config/locales/crowdin/uk.yml +++ b/modules/bim/config/locales/crowdin/uk.yml @@ -9,6 +9,7 @@ uk: label_bcf: 'BCF' label_imported_failed: 'Не вдалося імпортувати BFC теми' label_imported_successfully: 'Успішно завантажено BCF теми' + label_bcf_issue_associated: "BCF issue associated" issues: "Задачі" recommended: 'рекомендовано' not_recommended: 'не рекомендується' diff --git a/modules/bim/config/locales/crowdin/uz.yml b/modules/bim/config/locales/crowdin/uz.yml index 468866f74686..586ed9485ae7 100644 --- a/modules/bim/config/locales/crowdin/uz.yml +++ b/modules/bim/config/locales/crowdin/uz.yml @@ -9,6 +9,7 @@ uz: label_bcf: 'BCF' label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' + label_bcf_issue_associated: "BCF issue associated" issues: "Issues" recommended: 'recommended' not_recommended: 'not recommended' diff --git a/modules/bim/config/locales/crowdin/vi.yml b/modules/bim/config/locales/crowdin/vi.yml index df7002050e26..e998a3eba566 100644 --- a/modules/bim/config/locales/crowdin/vi.yml +++ b/modules/bim/config/locales/crowdin/vi.yml @@ -9,6 +9,7 @@ vi: label_bcf: 'BCF' label_imported_failed: 'Nhập các chủ đề BCF thất bại' label_imported_successfully: 'Đã nhập các chủ đề BCF thành công' + label_bcf_issue_associated: "BCF issue associated" issues: "Các vấn đề" recommended: 'khuyến nghị' not_recommended: 'không khuyến nghị' diff --git a/modules/bim/config/locales/crowdin/zh-CN.yml b/modules/bim/config/locales/crowdin/zh-CN.yml index 34121ece8a78..af2b01fa82d6 100644 --- a/modules/bim/config/locales/crowdin/zh-CN.yml +++ b/modules/bim/config/locales/crowdin/zh-CN.yml @@ -9,6 +9,7 @@ zh-CN: label_bcf: 'BCF' label_imported_failed: '导入 BCF 主题失败' label_imported_successfully: '已成功导入 BCF 主题' + label_bcf_issue_associated: "BCF issue associated" issues: "问题" recommended: '推荐' not_recommended: '不推荐' diff --git a/modules/bim/config/locales/crowdin/zh-TW.yml b/modules/bim/config/locales/crowdin/zh-TW.yml index 1fed792db0ab..c8b9e0122173 100644 --- a/modules/bim/config/locales/crowdin/zh-TW.yml +++ b/modules/bim/config/locales/crowdin/zh-TW.yml @@ -9,6 +9,7 @@ zh-TW: label_bcf: 'BCF' label_imported_failed: '無法匯入 BCF 主題' label_imported_successfully: ' ' + label_bcf_issue_associated: "BCF issue associated" issues: "問題集" recommended: '推薦' not_recommended: '不推薦' diff --git a/modules/meeting/config/locales/crowdin/af.yml b/modules/meeting/config/locales/crowdin/af.yml index 7da6f3935773..90135109d957 100644 --- a/modules/meeting/config/locales/crowdin/af.yml +++ b/modules/meeting/config/locales/crowdin/af.yml @@ -223,7 +223,6 @@ af: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/ar.yml b/modules/meeting/config/locales/crowdin/ar.yml index a79dde61e7f7..9ca4486ba131 100644 --- a/modules/meeting/config/locales/crowdin/ar.yml +++ b/modules/meeting/config/locales/crowdin/ar.yml @@ -227,7 +227,6 @@ ar: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/az.yml b/modules/meeting/config/locales/crowdin/az.yml index 9e087f08d684..7e7ed20930d5 100644 --- a/modules/meeting/config/locales/crowdin/az.yml +++ b/modules/meeting/config/locales/crowdin/az.yml @@ -223,7 +223,6 @@ az: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/be.yml b/modules/meeting/config/locales/crowdin/be.yml index c86653944ed3..f5b42b940795 100644 --- a/modules/meeting/config/locales/crowdin/be.yml +++ b/modules/meeting/config/locales/crowdin/be.yml @@ -225,7 +225,6 @@ be: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/bg.yml b/modules/meeting/config/locales/crowdin/bg.yml index 89312e4e0c04..7cd729de2379 100644 --- a/modules/meeting/config/locales/crowdin/bg.yml +++ b/modules/meeting/config/locales/crowdin/bg.yml @@ -223,7 +223,6 @@ bg: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/ca.yml b/modules/meeting/config/locales/crowdin/ca.yml index 3507baa2dacc..bbe5cfbebac5 100644 --- a/modules/meeting/config/locales/crowdin/ca.yml +++ b/modules/meeting/config/locales/crowdin/ca.yml @@ -223,7 +223,6 @@ ca: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/ckb-IR.yml b/modules/meeting/config/locales/crowdin/ckb-IR.yml index ae002135777c..485df2bb0c56 100644 --- a/modules/meeting/config/locales/crowdin/ckb-IR.yml +++ b/modules/meeting/config/locales/crowdin/ckb-IR.yml @@ -223,7 +223,6 @@ ckb-IR: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/cs.yml b/modules/meeting/config/locales/crowdin/cs.yml index e11ef2563d6b..afcc37357db4 100644 --- a/modules/meeting/config/locales/crowdin/cs.yml +++ b/modules/meeting/config/locales/crowdin/cs.yml @@ -225,7 +225,6 @@ cs: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/da.yml b/modules/meeting/config/locales/crowdin/da.yml index da1f94304dca..720aac09d547 100644 --- a/modules/meeting/config/locales/crowdin/da.yml +++ b/modules/meeting/config/locales/crowdin/da.yml @@ -223,7 +223,6 @@ da: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/de.yml b/modules/meeting/config/locales/crowdin/de.yml index d59087cbddf2..8df8c893bfc4 100644 --- a/modules/meeting/config/locales/crowdin/de.yml +++ b/modules/meeting/config/locales/crowdin/de.yml @@ -53,8 +53,8 @@ de: recurring_meeting: frequency: "Häufigkeit" interval: "Intervall" - start_date: "Starts on" - end_after: "End series after" + start_date: "Started am" + end_after: "Serie endet nach" iterations: "Ereignisse" errors: messages: @@ -117,7 +117,7 @@ de: label_template: "Vorlage" label_recurring_meeting_view: "Besprechungsreihe ansehen" label_recurring_meeting_create: "Aus Vorlage erstellen" - label_recurring_meeting_copy: "Copy as one-off" + label_recurring_meeting_copy: "Als einmalige Besprechung kopieren" label_recurring_meeting_cancel: "Dieses Ereignis abbrechen" label_recurring_meeting_delete: "Ereignis löschen" label_recurring_meeting_delete_confirmation: > @@ -125,11 +125,11 @@ de: label_recurring_occurrence_delete_confirmation: > Alle Besprechungsinformationen, die nicht in der Vorlage enthalten sind, gehen verloren. Möchten Sie fortfahren? label_recurring_meeting_restore: "Dieses Ereignis wiederherstellen" - label_recurring_meeting_more: "There are %{count} more scheduled meetings (%{schedule})." - label_recurring_meeting_more_singular: "There is %{count} more scheduled meeting (%{schedule})." - label_recurring_meeting_more_past: "There are %{count} more past meetings." - label_recurring_meeting_more_past_singular: "There is %{count} more past meeting." - label_recurring_meeting_show_more: "Show more" + label_recurring_meeting_more: "Es gibt %{count} weitere geplante Besprechungen (%{schedule})." + label_recurring_meeting_more_singular: "Es gibt %{count} weitere geplante Besprechung (%{schedule})." + label_recurring_meeting_more_past: "Es gibt %{count} weitere vergangene Besprechungen." + label_recurring_meeting_more_past_singular: "Es gibt %{count} weitere vergangene Besprechung." + label_recurring_meeting_show_more: "Mehr anzeigen" label_recurring_meeting_series_edit: "Besprechungsreihe bearbeiten" label_recurring_meeting_series_delete: "Besprechungsreihe löschen" label_my_meetings: "Meine Besprechungen" @@ -196,38 +196,37 @@ de: recurring_meeting: occurrence: infoline: "Diese Besprechung ist Teil einer wiederkehrenden Besprechungsreihe." - error_no_next: "There is no next occurrence for this meeting." - first_already_exists: "The first occurrence of this meeting series is already instantiated." + error_no_next: "Es gibt keinen nächsten Termin für diese Serie." + first_already_exists: "Das erste Vorkommen dieses Serientermins wurde bereits angelegt." first_created: > - The first meeting has been successfuly created from template. All future meetings will be created automatically at the time of the previous occurrence. + Die erste Besprechung wurde erfolgreich aus der Vorlage erstellt. Weitere werden automatisch zu dem Zeitpunkt erstellt, wenn die vorhergehende Besprechung startet. template: button_finalize: "Vorlage fertigstellen" - blank_title: "Your meeting series template is empty" + blank_title: "Die Vorlage für den Serientermin ist leer" description: > - This template will be used whenever new meetings in the series get created. You can add agenda items, participants, and attachments to this template. + Diese Vorlage wird immer dann verwendet, wenn neue Besprechungen des Serientermins erstellt werden. Sie können zu dieser Vorlage Tagesordnungspunkte, Teilnehmer und Anhänge hinzufügen. blankslate_finalize: > - When you're done preparing this template, click the '%{button_title}' button above to finish the setup and schedule the first meeting of the series. + Wenn Sie mit der Vorbereitung dieser Vorlage fertig sind, klicken Sie oben auf die Schaltfläche '%{button_title}', um die Einrichtung abzuschließen und die erste Besprechung des Serientermins anzulegen. label_view_template: "Vorlagen ansehen" label_edit_template: "Vorlage bearbeiten" banner_html: > - You are currently editing a template of a meeting series: %{link}. Every new occurrence of a meeting in the series will use this template. Changes will not affect past or already created meetings. + Sie bearbeiten gerade eine Vorlage für eine Besprechungsserie: %{link}. Jede neue Besprechung in diesem Serientermin kopiert diese Vorlage. Änderungen wirken sich nicht auf frühere oder bereits erstellte Besprechungen aus. frequency: every_weekday: "Jeden %{day_of_the_week}" daily: "Täglich" - working_days: "Every working day" + working_days: "An Arbeitstagen" weekly: "Wöchentlich" end_after: - specific_date: "a specific date" - iterations: "a number of occurrences" + specific_date: "einem bestimmten Datum" + iterations: "nach Anzahl von Ereignissen" starts: "Beginnt" in_words: - daily_interval: "Every %{interval} days" + daily_interval: "Alle %{interval} Tage" working_days: "Jeden Arbeitstag" - working_days_interval: "Every %{interval} working day" - weekly: "Every week on %{weekday}" - weekly_interval: "Every %{interval} weeks on %{weekday}" - frequency: "%{base} at %{time}" - full: "%{base} at %{time}, ends on %{end_date}" + weekly: "Jede Woche am %{weekday}" + weekly_interval: "Alle %{interval} Wochen am %{weekday}" + frequency: "%{base} um %{time}" + full: "%{base} um %{time}, endet %{end_date}" notice_successful_notification: "Benachrichtigung erfolgreich gesendet" notice_timezone_missing: Keine Zeitzone eingestellt und daher %{zone} angenommen. Um Ihre Zeitzone einzustellen, klicken Sie bitte hier. notice_meeting_updated: "Diese Seite wurde von einem anderen Benutzer verändert. Laden Sie neu, um die Änderungen zu sehen." @@ -280,7 +279,7 @@ de: text_deleted_agenda_item: 'Gelöschter Tagesordnungspunkt' label_initial_meeting_details: "Besprechung" label_meeting_details: "Besprechungsdetails" - label_meeting_series_details: "Meeting series details" + label_meeting_series_details: "Details des Serientermins" label_meeting_details_edit: "Besprechungsdetails bearbeiten" label_meeting_state: "Besprechungsstatus" label_meeting_state_open: "Offen" diff --git a/modules/meeting/config/locales/crowdin/el.yml b/modules/meeting/config/locales/crowdin/el.yml index ccf4fbdbad07..5da806f36d1f 100644 --- a/modules/meeting/config/locales/crowdin/el.yml +++ b/modules/meeting/config/locales/crowdin/el.yml @@ -223,7 +223,6 @@ el: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/eo.yml b/modules/meeting/config/locales/crowdin/eo.yml index 224dc5fc9f42..0640cc1f8256 100644 --- a/modules/meeting/config/locales/crowdin/eo.yml +++ b/modules/meeting/config/locales/crowdin/eo.yml @@ -223,7 +223,6 @@ eo: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/es.yml b/modules/meeting/config/locales/crowdin/es.yml index 17b9b2df5ff3..03c8b6eaa83c 100644 --- a/modules/meeting/config/locales/crowdin/es.yml +++ b/modules/meeting/config/locales/crowdin/es.yml @@ -223,7 +223,6 @@ es: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/et.yml b/modules/meeting/config/locales/crowdin/et.yml index de5c208c7f00..671a90c3184f 100644 --- a/modules/meeting/config/locales/crowdin/et.yml +++ b/modules/meeting/config/locales/crowdin/et.yml @@ -223,7 +223,6 @@ et: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/eu.yml b/modules/meeting/config/locales/crowdin/eu.yml index 7e200832ea31..32b8c823665b 100644 --- a/modules/meeting/config/locales/crowdin/eu.yml +++ b/modules/meeting/config/locales/crowdin/eu.yml @@ -223,7 +223,6 @@ eu: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/fa.yml b/modules/meeting/config/locales/crowdin/fa.yml index c9eebd162b51..ce8cade3fe99 100644 --- a/modules/meeting/config/locales/crowdin/fa.yml +++ b/modules/meeting/config/locales/crowdin/fa.yml @@ -223,7 +223,6 @@ fa: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/fi.yml b/modules/meeting/config/locales/crowdin/fi.yml index 74baa56210e4..6e851427231c 100644 --- a/modules/meeting/config/locales/crowdin/fi.yml +++ b/modules/meeting/config/locales/crowdin/fi.yml @@ -223,7 +223,6 @@ fi: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/fil.yml b/modules/meeting/config/locales/crowdin/fil.yml index 4cbec9fb0672..c4aff89ea2c5 100644 --- a/modules/meeting/config/locales/crowdin/fil.yml +++ b/modules/meeting/config/locales/crowdin/fil.yml @@ -223,7 +223,6 @@ fil: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/fr.yml b/modules/meeting/config/locales/crowdin/fr.yml index 3628946f0574..4faaa3091658 100644 --- a/modules/meeting/config/locales/crowdin/fr.yml +++ b/modules/meeting/config/locales/crowdin/fr.yml @@ -223,7 +223,6 @@ fr: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/he.yml b/modules/meeting/config/locales/crowdin/he.yml index fc6c129d5ade..3ea78e7d9a32 100644 --- a/modules/meeting/config/locales/crowdin/he.yml +++ b/modules/meeting/config/locales/crowdin/he.yml @@ -225,7 +225,6 @@ he: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/hi.yml b/modules/meeting/config/locales/crowdin/hi.yml index 4e5648e9e41a..8549b09caee3 100644 --- a/modules/meeting/config/locales/crowdin/hi.yml +++ b/modules/meeting/config/locales/crowdin/hi.yml @@ -223,7 +223,6 @@ hi: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/hr.yml b/modules/meeting/config/locales/crowdin/hr.yml index 443a2259569f..7847fee54266 100644 --- a/modules/meeting/config/locales/crowdin/hr.yml +++ b/modules/meeting/config/locales/crowdin/hr.yml @@ -224,7 +224,6 @@ hr: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/hu.yml b/modules/meeting/config/locales/crowdin/hu.yml index 59fc23ab24dd..94e7f998d0e7 100644 --- a/modules/meeting/config/locales/crowdin/hu.yml +++ b/modules/meeting/config/locales/crowdin/hu.yml @@ -223,7 +223,6 @@ hu: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/id.yml b/modules/meeting/config/locales/crowdin/id.yml index 24feb5a7b5f6..cd0327435ee5 100644 --- a/modules/meeting/config/locales/crowdin/id.yml +++ b/modules/meeting/config/locales/crowdin/id.yml @@ -222,7 +222,6 @@ id: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/it.yml b/modules/meeting/config/locales/crowdin/it.yml index 3ac744a3ff90..0349af5be54f 100644 --- a/modules/meeting/config/locales/crowdin/it.yml +++ b/modules/meeting/config/locales/crowdin/it.yml @@ -223,7 +223,6 @@ it: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/ja.yml b/modules/meeting/config/locales/crowdin/ja.yml index eb54c3a1f56b..1f290e80f4cc 100644 --- a/modules/meeting/config/locales/crowdin/ja.yml +++ b/modules/meeting/config/locales/crowdin/ja.yml @@ -222,7 +222,6 @@ ja: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/ka.yml b/modules/meeting/config/locales/crowdin/ka.yml index 240dc3eded08..85a69640b6c6 100644 --- a/modules/meeting/config/locales/crowdin/ka.yml +++ b/modules/meeting/config/locales/crowdin/ka.yml @@ -223,7 +223,6 @@ ka: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/kk.yml b/modules/meeting/config/locales/crowdin/kk.yml index f440ee2a8bfc..6ad39adfd7c6 100644 --- a/modules/meeting/config/locales/crowdin/kk.yml +++ b/modules/meeting/config/locales/crowdin/kk.yml @@ -223,7 +223,6 @@ kk: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/ko.yml b/modules/meeting/config/locales/crowdin/ko.yml index 7e8abcc3776a..ce0c85ec14e9 100644 --- a/modules/meeting/config/locales/crowdin/ko.yml +++ b/modules/meeting/config/locales/crowdin/ko.yml @@ -222,7 +222,6 @@ ko: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/lt.yml b/modules/meeting/config/locales/crowdin/lt.yml index 6ed716a98cfc..9e7d0cfc687e 100644 --- a/modules/meeting/config/locales/crowdin/lt.yml +++ b/modules/meeting/config/locales/crowdin/lt.yml @@ -225,7 +225,6 @@ lt: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/lv.yml b/modules/meeting/config/locales/crowdin/lv.yml index 5841b7a4de9d..0eca8a5a7679 100644 --- a/modules/meeting/config/locales/crowdin/lv.yml +++ b/modules/meeting/config/locales/crowdin/lv.yml @@ -224,7 +224,6 @@ lv: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/mn.yml b/modules/meeting/config/locales/crowdin/mn.yml index 949f75e2c44f..fd12cb962d7d 100644 --- a/modules/meeting/config/locales/crowdin/mn.yml +++ b/modules/meeting/config/locales/crowdin/mn.yml @@ -223,7 +223,6 @@ mn: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/ms.yml b/modules/meeting/config/locales/crowdin/ms.yml index 6439ef2ef9aa..f214415fe5d1 100644 --- a/modules/meeting/config/locales/crowdin/ms.yml +++ b/modules/meeting/config/locales/crowdin/ms.yml @@ -222,7 +222,6 @@ ms: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/ne.yml b/modules/meeting/config/locales/crowdin/ne.yml index 0c15e8c19f7a..6a15451726ea 100644 --- a/modules/meeting/config/locales/crowdin/ne.yml +++ b/modules/meeting/config/locales/crowdin/ne.yml @@ -223,7 +223,6 @@ ne: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/nl.yml b/modules/meeting/config/locales/crowdin/nl.yml index 13f5e68274a8..c8b4152a4487 100644 --- a/modules/meeting/config/locales/crowdin/nl.yml +++ b/modules/meeting/config/locales/crowdin/nl.yml @@ -223,7 +223,6 @@ nl: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/no.yml b/modules/meeting/config/locales/crowdin/no.yml index bf5c531e8932..b8785c7c56cd 100644 --- a/modules/meeting/config/locales/crowdin/no.yml +++ b/modules/meeting/config/locales/crowdin/no.yml @@ -223,7 +223,6 @@ in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/pl.yml b/modules/meeting/config/locales/crowdin/pl.yml index 891988f7c0d2..7ea244f5b51e 100644 --- a/modules/meeting/config/locales/crowdin/pl.yml +++ b/modules/meeting/config/locales/crowdin/pl.yml @@ -225,7 +225,6 @@ pl: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/pt-BR.yml b/modules/meeting/config/locales/crowdin/pt-BR.yml index 19aeced756e6..1ecaf9ac619f 100644 --- a/modules/meeting/config/locales/crowdin/pt-BR.yml +++ b/modules/meeting/config/locales/crowdin/pt-BR.yml @@ -223,7 +223,6 @@ pt-BR: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/pt-PT.yml b/modules/meeting/config/locales/crowdin/pt-PT.yml index 252f68f1a5f1..2ec87702b663 100644 --- a/modules/meeting/config/locales/crowdin/pt-PT.yml +++ b/modules/meeting/config/locales/crowdin/pt-PT.yml @@ -223,7 +223,6 @@ pt-PT: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/ro.yml b/modules/meeting/config/locales/crowdin/ro.yml index fead144d50c8..022d0984eb51 100644 --- a/modules/meeting/config/locales/crowdin/ro.yml +++ b/modules/meeting/config/locales/crowdin/ro.yml @@ -224,7 +224,6 @@ ro: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/ru.yml b/modules/meeting/config/locales/crowdin/ru.yml index a93087911e7a..4f930f95c57f 100644 --- a/modules/meeting/config/locales/crowdin/ru.yml +++ b/modules/meeting/config/locales/crowdin/ru.yml @@ -55,8 +55,8 @@ ru: recurring_meeting: frequency: "Периодичность" interval: "Промежуток" - start_date: "Starts on" - end_after: "End series after" + start_date: "Начинается" + end_after: "Завершение серии после" iterations: "События" errors: messages: @@ -219,16 +219,15 @@ ru: working_days: "Каждый рабочий день" weekly: "Еженедельно" end_after: - specific_date: "a specific date" - iterations: "a number of occurrences" + specific_date: "конкретная дата" + iterations: "количество событий" starts: "Начало" in_words: - daily_interval: "Every %{interval} days" + daily_interval: "Каждые %{interval} дней" working_days: "Каждый рабочий день" - working_days_interval: "Каждый %{interval} рабочий день" - weekly: "Every week on %{weekday}" - weekly_interval: "Every %{interval} weeks on %{weekday}" - frequency: "%{base} at %{time}" + weekly: "Каждую неделю в %{weekday}" + weekly_interval: "Каждые %{interval} недель в %{weekday}" + frequency: "%{base} в %{time}" full: "%{base} в %{time}, заканчивается %{end_date}" notice_successful_notification: "Уведомление успешно отправленно" notice_timezone_missing: Не установлен часовой пояс и применена %{zone}. Чтобы выбрать часовой пояс, пожалуйста, нажмите сюда. diff --git a/modules/meeting/config/locales/crowdin/rw.yml b/modules/meeting/config/locales/crowdin/rw.yml index 2373f6b25725..0aee4cac8bfa 100644 --- a/modules/meeting/config/locales/crowdin/rw.yml +++ b/modules/meeting/config/locales/crowdin/rw.yml @@ -223,7 +223,6 @@ rw: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/si.yml b/modules/meeting/config/locales/crowdin/si.yml index 22432b3860e2..d2c87ce3a5d5 100644 --- a/modules/meeting/config/locales/crowdin/si.yml +++ b/modules/meeting/config/locales/crowdin/si.yml @@ -223,7 +223,6 @@ si: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/sk.yml b/modules/meeting/config/locales/crowdin/sk.yml index 65f8afcf5a3e..ea77c2a1b998 100644 --- a/modules/meeting/config/locales/crowdin/sk.yml +++ b/modules/meeting/config/locales/crowdin/sk.yml @@ -225,7 +225,6 @@ sk: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/sl.yml b/modules/meeting/config/locales/crowdin/sl.yml index 2699dbd8b457..6bfe7108c713 100644 --- a/modules/meeting/config/locales/crowdin/sl.yml +++ b/modules/meeting/config/locales/crowdin/sl.yml @@ -225,7 +225,6 @@ sl: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/sr.yml b/modules/meeting/config/locales/crowdin/sr.yml index a681b5f82f6d..a6999b73c1c5 100644 --- a/modules/meeting/config/locales/crowdin/sr.yml +++ b/modules/meeting/config/locales/crowdin/sr.yml @@ -224,7 +224,6 @@ sr: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/sv.yml b/modules/meeting/config/locales/crowdin/sv.yml index be3e87dfaefd..428f30ca5d5d 100644 --- a/modules/meeting/config/locales/crowdin/sv.yml +++ b/modules/meeting/config/locales/crowdin/sv.yml @@ -223,7 +223,6 @@ sv: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/th.yml b/modules/meeting/config/locales/crowdin/th.yml index 171ccd23f816..53cc6bde8f87 100644 --- a/modules/meeting/config/locales/crowdin/th.yml +++ b/modules/meeting/config/locales/crowdin/th.yml @@ -222,7 +222,6 @@ th: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/tr.yml b/modules/meeting/config/locales/crowdin/tr.yml index b8adf2f5c3b3..83ff9113293e 100644 --- a/modules/meeting/config/locales/crowdin/tr.yml +++ b/modules/meeting/config/locales/crowdin/tr.yml @@ -223,7 +223,6 @@ tr: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/uk.yml b/modules/meeting/config/locales/crowdin/uk.yml index acac6088fc32..7a8cb3c0f570 100644 --- a/modules/meeting/config/locales/crowdin/uk.yml +++ b/modules/meeting/config/locales/crowdin/uk.yml @@ -225,7 +225,6 @@ uk: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/uz.yml b/modules/meeting/config/locales/crowdin/uz.yml index 9c94a0e4e176..8da37b39ee62 100644 --- a/modules/meeting/config/locales/crowdin/uz.yml +++ b/modules/meeting/config/locales/crowdin/uz.yml @@ -223,7 +223,6 @@ uz: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/vi.yml b/modules/meeting/config/locales/crowdin/vi.yml index f7bd272fd642..74931b7ae188 100644 --- a/modules/meeting/config/locales/crowdin/vi.yml +++ b/modules/meeting/config/locales/crowdin/vi.yml @@ -222,7 +222,6 @@ vi: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/zh-CN.yml b/modules/meeting/config/locales/crowdin/zh-CN.yml index 145282a687b8..adc861cc291a 100644 --- a/modules/meeting/config/locales/crowdin/zh-CN.yml +++ b/modules/meeting/config/locales/crowdin/zh-CN.yml @@ -52,7 +52,7 @@ zh-CN: recurring_meeting: frequency: "频率" interval: "周期" - start_date: "Starts on" + start_date: "开始日期:" end_after: "End series after" iterations: "事件" errors: @@ -222,7 +222,6 @@ zh-CN: in_words: daily_interval: "Every %{interval} days" working_days: "每个工作日" - working_days_interval: "每 %{interval} 个工作日" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/meeting/config/locales/crowdin/zh-TW.yml b/modules/meeting/config/locales/crowdin/zh-TW.yml index 88ac098649d0..1cb80cf66c38 100644 --- a/modules/meeting/config/locales/crowdin/zh-TW.yml +++ b/modules/meeting/config/locales/crowdin/zh-TW.yml @@ -50,16 +50,16 @@ zh-TW: meeting_section: title: "標題" recurring_meeting: - frequency: "Frequency" - interval: "Interval" - start_date: "Starts on" - end_after: "End series after" - iterations: "Occurrences" + frequency: "頻率" + interval: "間隔" + start_date: "開始於" + end_after: "系列結束後" + iterations: "出現次數" errors: messages: invalid_time_format: "不是有效時間。所需格式: HH:MM" models: - recurring_meeting: "Recurring meeting" + recurring_meeting: "重複性會議" structured_meeting: "會議(動態)" meeting_agenda_item: "議程項目" meeting_agenda: "會議大綱" @@ -95,7 +95,7 @@ zh-TW: label_meeting_plural: "會議" label_meeting_new: "新增會議" label_meeting_new_dynamic: "新的動態會議" - label_meeting_new_recurring: "New recurring meeting" + label_meeting_new_recurring: "新的重複性會議" label_meeting_create: "新增會議" label_meeting_copy: "複製會議" label_meeting_edit: "編輯會議" @@ -109,13 +109,13 @@ zh-TW: label_meeting_date_time: "日期 / 時間" label_meeting_date_and_time: "日期和時間" label_meeting_diff: "比較" - label_recurring_meeting: "Recurring meeting" - label_recurring_meeting_part_of: "Part of a meeting series" - label_recurring_meeting_new: "New recurring meeting" - label_recurring_meeting_plural: "Recurring meetings" - label_template: "Template" - label_recurring_meeting_view: "View meeting series" - label_recurring_meeting_create: "Create from template" + label_recurring_meeting: "重複性會議" + label_recurring_meeting_part_of: "系列會議的一部分" + label_recurring_meeting_new: "新的重複性會議" + label_recurring_meeting_plural: "重複性會議" + label_template: "模板" + label_recurring_meeting_view: "檢視會議系列" + label_recurring_meeting_create: "從模板建立" label_recurring_meeting_copy: "Copy as one-off" label_recurring_meeting_cancel: "Cancel this occurrence" label_recurring_meeting_delete: "Delete occurrence" @@ -222,7 +222,6 @@ zh-TW: in_words: daily_interval: "Every %{interval} days" working_days: "Every working day" - working_days_interval: "Every %{interval} working day" weekly: "Every week on %{weekday}" weekly_interval: "Every %{interval} weeks on %{weekday}" frequency: "%{base} at %{time}" diff --git a/modules/reporting/config/locales/crowdin/de.yml b/modules/reporting/config/locales/crowdin/de.yml index 90e9ace3cb0f..c2095cf00632 100644 --- a/modules/reporting/config/locales/crowdin/de.yml +++ b/modules/reporting/config/locales/crowdin/de.yml @@ -87,10 +87,10 @@ de: validation_failure_integer: "ist keine ganze Zahl" export: timesheet: - title: "Your PDF timesheet export" - button: "Export PDF timesheet" - timesheet: "Timesheet" - time: "Time" + title: "Ihr PDF-Export des Stundenzettels" + button: "Stundenzettel als PDF exportieren" + timesheet: "Stundenzettel" + time: "Stunden" cost_reports: title: "Kostenbericht als XLS-Export" reporting: diff --git a/modules/reporting/config/locales/crowdin/ru.yml b/modules/reporting/config/locales/crowdin/ru.yml index c57322c68684..02fdaa9f09f4 100644 --- a/modules/reporting/config/locales/crowdin/ru.yml +++ b/modules/reporting/config/locales/crowdin/ru.yml @@ -87,10 +87,10 @@ ru: validation_failure_integer: "не является допустимым целым числом" export: timesheet: - title: "Your PDF timesheet export" - button: "Export PDF timesheet" - timesheet: "Timesheet" - time: "Time" + title: "Ваши табели учета рабочего времени, экспортированные в PDF" + button: "Экспорт табеля учета рабочего времени в PDF" + timesheet: "Табель учета рабочего времени" + time: "Время" cost_reports: title: "Экспорт ваших отчетов о затратах в XLS" reporting: diff --git a/modules/reporting/config/locales/crowdin/zh-CN.yml b/modules/reporting/config/locales/crowdin/zh-CN.yml index 63dbdf79739e..1de0996091d0 100644 --- a/modules/reporting/config/locales/crowdin/zh-CN.yml +++ b/modules/reporting/config/locales/crowdin/zh-CN.yml @@ -87,9 +87,9 @@ zh-CN: validation_failure_integer: "不是有效的整数" export: timesheet: - title: "Your PDF timesheet export" - button: "Export PDF timesheet" - timesheet: "Timesheet" + title: "您的 PDF 报告导出" + button: "导出 PDF 报告" + timesheet: "工时报表" time: "Time" cost_reports: title: "您的成本报告 XLS 导出" diff --git a/modules/reporting/config/locales/crowdin/zh-TW.yml b/modules/reporting/config/locales/crowdin/zh-TW.yml index 52774811022b..39ae5f42ceb1 100644 --- a/modules/reporting/config/locales/crowdin/zh-TW.yml +++ b/modules/reporting/config/locales/crowdin/zh-TW.yml @@ -87,10 +87,10 @@ zh-TW: validation_failure_integer: "不是一個有效的整數" export: timesheet: - title: "Your PDF timesheet export" - button: "Export PDF timesheet" - timesheet: "Timesheet" - time: "Time" + title: "您的時間表PDF匯出" + button: "匯出 PDF 時間表" + timesheet: "時間表" + time: "時間" cost_reports: title: "您的成本報表(以XLS匯出)" reporting: diff --git a/modules/storages/config/locales/crowdin/ro.yml b/modules/storages/config/locales/crowdin/ro.yml index b56c684ef2b4..fc56702213d2 100644 --- a/modules/storages/config/locales/crowdin/ro.yml +++ b/modules/storages/config/locales/crowdin/ro.yml @@ -77,14 +77,14 @@ ro: attributes: nextcloud_sync_service: add_user_to_group: 'Add User to Group:' - create_folder: 'Managed Project Folder Creation:' + create_folder: 'Creare dosar proiect gestionat:' ensure_root_folder_permissions: 'Set Base Folder Permissions:' hide_inactive_folders: 'Hide Inactive Folders Step:' remote_folders: 'Read contents of the group folder:' remove_user_from_group: 'Remove User from Group:' rename_project_folder: 'Rename managed project Folder:' one_drive_sync_service: - create_folder: 'Managed Project Folder Creation:' + create_folder: 'Creare dosar proiect gestionat:' ensure_root_folder_permissions: 'Set Base Folder Permissions:' hide_inactive_folders: 'Hide Inactive Folders Step:' remote_folders: 'Read contents of the group folder:' diff --git a/modules/storages/config/locales/crowdin/ru.yml b/modules/storages/config/locales/crowdin/ru.yml index f90af0cc13d2..e0a24a8d9de5 100644 --- a/modules/storages/config/locales/crowdin/ru.yml +++ b/modules/storages/config/locales/crowdin/ru.yml @@ -63,7 +63,7 @@ ru: label: Изменить папку проекта project_folder_mode: automatic: Автоматическое управление - inactive: Нет определенной папки + inactive: Нет конкретной папки manual: Существующая папка управляется вручную remove_project: deletion_failure_flash: Не удалось удалить проект из хранилища. %{error} From a654b8b27a31a7323752b73cef711a5d4b7016f5 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Thu, 12 Dec 2024 12:55:31 +0000 Subject: [PATCH 103/121] update locales from crowdin [ci skip] --- config/locales/crowdin/js-ro.yml | 34 +++--- config/locales/crowdin/js-ru.yml | 8 +- config/locales/crowdin/ro.yml | 112 +++++++++--------- config/locales/crowdin/ru.yml | 16 +-- config/locales/crowdin/zh-TW.yml | 8 +- .../storages/config/locales/crowdin/ro.yml | 4 +- .../storages/config/locales/crowdin/ru.yml | 2 +- 7 files changed, 92 insertions(+), 92 deletions(-) diff --git a/config/locales/crowdin/js-ro.yml b/config/locales/crowdin/js-ro.yml index 50a5e8738c74..23dc64714c81 100644 --- a/config/locales/crowdin/js-ro.yml +++ b/config/locales/crowdin/js-ro.yml @@ -326,7 +326,7 @@ ro: filter: noneSelection: "(nimic)" selection_mode: - notification: "Faceți click pe oricare dintre pachetele de lucru pentru a crea o legătură. Apăsați Escape pentru a anula." + notification: "Dă clic pe oricare dintre pachetele de lucru pentru a crea o legătură. Apasă Escape pentru a anula." zoom: in: "Mărire" out: "Micșorare" @@ -797,36 +797,36 @@ ro: typeahead_placeholder: Căutarea de posibili observatori relation_labels: parent: "Părinte" - children: "Fii" + children: "Copii" relates: "În relație cu" duplicates: "Dublează" duplicated: "Dublat de" blocks: "Blochează" blocked: "Blocat de" precedes: "Precede" - follows: "Urmează după" + follows: "Urmează" includes: "Include" partof: "Parte din" requires: "Necesită" required: "Cerut de" - relation_type: "tipul de relaţie" + relation_type: "tip relație" relations_hierarchy: parent_headline: "Părinte" - hierarchy_headline: "Arată ierarhia" - children_headline: "Fii" + hierarchy_headline: "Ierarhie" + children_headline: "Copii" relation_buttons: set_parent: "Setează părinte" - change_parent: "Modificare părinte" - remove_parent: "Elimina părinte" - hierarchy_indent: "Ierarhia de indentare" - hierarchy_outdent: "Ierarhie ieșită din comun" + change_parent: "Modifică părinte" + remove_parent: "Elimină părinte" + hierarchy_indent: "Indentare ierarhie" + hierarchy_outdent: "Elimină ierarhia" group_by_wp_type: "Grupează după tipul packetului de lucru" group_by_relation_type: "Grupează dupa tipul legăturii" add_parent: "Adaugă părinte existent" - add_new_child: "Crează un nou copil" - create_new: "Creați un nou" - add_existing: "Adăugați Existent" - add_existing_child: "Adaugă un copil existent" + add_new_child: "Creează copil nou" + create_new: "Creează nou" + add_existing: "Adaugă existent" + add_existing_child: "Adaugă copil existent" remove_child: "Elimină copil" add_new_relation: "Crează o nouă relație" add_existing_relation: "Adăugarea unei relații existente" @@ -836,12 +836,12 @@ ro: add_follower: "Adaugă urmăritor" show_relations: "Arată relațiile" add_predecessor: "Adăugați predecesorul" - remove: "Eliminare relaţie" + remove: "Eliminare relație" save: "Salvează relația" abort: "Anulează" relations_autocomplete: placeholder: "Tastează pentru a căuta" - parent_placeholder: "Alegeți un nou părinte sau apăsați Escape pentru a anula." + parent_placeholder: "Alege un nou părinte sau apasă Escape pentru a anula." autocompleter: placeholder: "Tastează pentru a căuta" notFoundText: "Niciun articol găsit" @@ -1150,7 +1150,7 @@ ro: notice_bad_request: "Cerere invalidă." relations: empty: Nu există relații - remove: Eliminare relaţie + remove: Elimină relație inplace: button_edit: "%{attribute}: Editare" button_save: "%{attribute}: Salvează" diff --git a/config/locales/crowdin/js-ru.yml b/config/locales/crowdin/js-ru.yml index 38dd2624861c..23d85b789c27 100644 --- a/config/locales/crowdin/js-ru.yml +++ b/config/locales/crowdin/js-ru.yml @@ -696,8 +696,8 @@ ru: teaser_text: "С уведомлениями о дате вы будете уведомлены о датах начала или окончания предстоящих дат, чтобы вы никогда не пропустили или не забыли важный срок." overdue: Когда просрочено project_specific: - title: "Настройки уведомлений проекта" - description: "Эти настройки специфического проекта переопределяют параметры по умолчанию выше." + title: "Настройки уведомлений для конкретного проекта" + description: "Эти настройки для конкретного проекта переопределяют параметры по умолчанию." add: "Добавить настройку для проекта" already_selected: "Этот проект уже выбран" remove: "Удалить настройки проекта" @@ -1323,8 +1323,8 @@ ru: last_working_day: "последний рабочий день" last_week: "прошлой недели" last_month: "прошлый месяц" - a_specific_date: "определенная дата" - between_two_specific_dates: "между двумя определенными датами" + a_specific_date: "конкретная дата" + between_two_specific_dates: "между двумя конкретными датами" legends: changes_since: "Изменения с" changes_between: "Изменения между" diff --git a/config/locales/crowdin/ro.yml b/config/locales/crowdin/ro.yml index e2941af70d64..23b2c2e2fd1c 100644 --- a/config/locales/crowdin/ro.yml +++ b/config/locales/crowdin/ro.yml @@ -310,7 +310,7 @@ ro: overviews: "Prezentare generală proiect" queries: "Pachete de lucru: vizualizări salvate" wiki_page_attachments: "Pagini wiki: atașamente" - work_package_attachments: "Pachete de lucru: anexe" + work_package_attachments: "Pachete de lucru: atașamente" work_package_categories: "Pachete de lucru: categorii" work_package_file_links: "Pachete de lucru: legături de fișiere" work_package_shares: "Pachete de lucru: partajări" @@ -371,7 +371,7 @@ ro: types: no_results_title_text: În acest moment nu există tipuri disponibile. form: - enable_type_in_project: 'Activare tip %{type}' + enable_type_in_project: 'Activează tip %{type}' versions: no_results_title_text: În acest moment nu există versiuni pentru acest proiect. no_results_content_text: Creează versiune nouă @@ -510,7 +510,7 @@ ro: placeholder_users: right_to_manage_members_missing: > Nu aveți permisiunea de a șterge utilizatorul de tip placeholder. Nu aveți dreptul de a gestiona membrii pentru toate proiectele din care face parte utilizatorul de tip placeholder. - delete_tooltip: "Ștergeți utilizatorul de tip placeholder" + delete_tooltip: "Șterge utilizator placeholder" deletion_info: heading: "Ștergeți utilizatorul de tip placeholder %{name}" data_consequences: > @@ -613,7 +613,7 @@ ro: none_could_be_saved: "Niciunul dintre pachetele de lucru %{total} nu poate fi actualizat." x_out_of_y_could_be_saved: "%{failing} din %{total} pachete de lucru nu pot fi actualizate în timp ce %{success} poate fi actualizat." selected_because_descendants: "While %{selected} work packages were selected, in total %{total} work packages are affected which includes descendants." - descendant: "descendent de selectat" + descendant: "descendent al selectatului" move: no_common_statuses_exists: "Nu există o stare disponibilă pentru toate pachetele de lucru selectate. Starea acestora nu poate fi modificată." unsupported_for_multiple_projects: "Mutarea/copierea în masă nu este suportată pentru pachete de lucru din proiecte multiple" @@ -646,53 +646,53 @@ ro: index: action_bar_title: "Add relations to other work packages to create a link between them." no_results_title_text: There are currently no relations available. - blankslate_heading: "No relations" + blankslate_heading: "Fără relații" blankslate_description: "This work package does not have any relations yet." - label_add_x: "Add %{x}" - label_edit_x: "Edit %{x}" + label_add_x: "Adaugă %{x}" + label_edit_x: "Editează %{x}" label_add_description: "Add description" relations: - label_relates_singular: "related to" - label_relates_plural: "related to" - label_relates_to_singular: "related to" - label_relates_to_plural: "related to" - relates_description: "Creates a visible link between the two work packages with no additional effect" - relates_to_description: "Creates a visible link between the two work packages with no additional effect" - label_precedes_singular: "successor (after)" - label_precedes_plural: "successors (after)" - precedes_description: "The related work package necessarily needs to start after this one finishes" - label_follows_singular: "predecessor (before)" - label_follows_plural: "predecessors (before)" - follows_description: "The related work package necessarily needs to finish before this one can start" - label_child_singular: "child" - label_child_plural: "children" + label_relates_singular: "asociat cu" + label_relates_plural: "asociat cu" + label_relates_to_singular: "asociat cu" + label_relates_to_plural: "asociat cu" + relates_description: "Creează o legătură vizibilă între cele două pachete de lucru fără niciun efect suplimentar" + relates_to_description: "Creează o legătură vizibilă între cele două pachete de lucru fără niciun efect suplimentar" + label_precedes_singular: "succesor (după)" + label_precedes_plural: "succesor (după)" + precedes_description: "Pachetul de lucru asociat trebuie neapărat să înceapă după finalizarea acestuia" + label_follows_singular: "predecesor (înainte)" + label_follows_plural: "predecesor (înainte)" + follows_description: "Pachetul de lucru asociat trebuie neapărat să înceapă după finalizarea acestuia" + label_child_singular: "copil" + label_child_plural: "copii" child_description: "Makes the related work package a sub-item of the current (parent) work package" - label_blocks_singular: "blocks" - label_blocks_plural: "blocks" - blocks_description: "The related work package cannot be closed until this one is closed first" - label_blocked_singular: "blocked by" - label_blocked_plural: "blocked by" - label_blocked_by_singular: "blocked by" - label_blocked__by_plural: "blocked by" - blocked_description: "This work package cannot be closed until the related one is closed first" - blocked_by_description: "This work package cannot be closed until the related one is closed first" - label_duplicates_singular: "duplicates" - label_duplicates_plural: "duplicates" - duplicates_description: "This is a copy of the related work package" - label_duplicated_singular: "duplicated by" - label_duplicated_plural: "duplicated by" - label_duplicated_by_singular: "duplicated by" - label_duplicated_by_plural: "duplicated by" - duplicated_by_description: "The related work package is a copy of this" - duplicated_description: "The related work package is a copy of this" - label_includes_singular: "includes" - label_includes_plural: "includes" - includes_description: "Marks the related work package as including this one with no additional effect" - label_partof_singular: "part of" - label_partof_plural: "part of" - label_part_of_singular: "part of" - label_part_of_plural: "part of" - partof_description: "Marks the related work package as being part of this one with no additional effect" + label_blocks_singular: "blochează" + label_blocks_plural: "blochează" + blocks_description: "Pachetul de lucru asociat nu poate fi închis până când acesta nu este închis mai întâi" + label_blocked_singular: "blocat de" + label_blocked_plural: "blocat de" + label_blocked_by_singular: "blocat de" + label_blocked__by_plural: "blocat de" + blocked_description: "Pachetul de lucru asociat nu poate fi închis până când acesta nu este închis mai întâi" + blocked_by_description: "Pachetul de lucru asociat nu poate fi închis până când acesta nu este închis mai întâi" + label_duplicates_singular: "dublează" + label_duplicates_plural: "dublează" + duplicates_description: "Aceasta este o copie a pachetului de lucru asociat" + label_duplicated_singular: "dublat de" + label_duplicated_plural: "dublat de" + label_duplicated_by_singular: "dublat de" + label_duplicated_by_plural: "dublat de" + duplicated_by_description: "Pachetul de lucru asociat este o copie a acestuia" + duplicated_description: "Pachetul de lucru asociat este o copie a acestuia" + label_includes_singular: "include" + label_includes_plural: "include" + includes_description: "Marchează pachetul de lucru asociat ca incluzând acesta, fără niciun efect suplimentar" + label_partof_singular: "parte din" + label_partof_plural: "parte din" + label_part_of_singular: "parte din" + label_part_of_plural: "parte din" + partof_description: "Marchează pachetul de lucru asociat ca incluzând acesta, fără niciun efect suplimentar" part_of_description: "Marks the related work package as being part of this one with no additional effect" label_requires_singular: "requires" label_requires_plural: "requires" @@ -2096,7 +2096,7 @@ ro: notifications: reasons: assigned: "Executant" - dateAlert: "Alertă de dată" + dateAlert: "Alertă dată" mentioned: "Menţionat" responsible: "Responsabil" shared: "Partajat" @@ -2105,7 +2105,7 @@ ro: unread: "Necitite" unread_title: "Afișare necitite" all: "Toate" - all_title: "Afișare toate" + all_title: "Afișează toate" menu: by_project: "Necitite după proiect" by_reason: "Motiv" @@ -2160,7 +2160,7 @@ ro: label_ical_access_key_revoke: "Revocă" label_add_column: "Adaugă coloană" label_applied_status: "Stare aplicată" - label_archive_project: "Proiect de arhivă" + label_archive_project: "Arhivează proiect" label_ascending: "Crescător" label_assigned_to_me_work_packages: "Pachete de lucru atribuite mie" label_associated_revisions: "Revizii asociate" @@ -2433,7 +2433,7 @@ ro: label_membership_plural: "Memberships" label_membership_added: "Membru adăugat" label_membership_updated: "Membru actualizat" - label_menu: "Menu" + label_menu: "Meniu" label_menu_badge: pre_alpha: "pre-alpha" alpha: "alfa" @@ -2542,7 +2542,7 @@ ro: label_project: "Proiect" label_project_activity: "Activitate proiect" label_project_attribute_plural: "Atributele proiectului" - label_project_attribute_manage_link: "Manage project attributes" + label_project_attribute_manage_link: "Gestionează atribute proiect" label_project_count: "Număr total de proiecte" label_project_copy_notifications: "Trimitere notificări e-mail în timpul copierii proiectului" label_project_latest: "Ultimele proiecte" @@ -2552,8 +2552,8 @@ ro: label_project_new: "Proiect nou" label_project_plural: "Proiecte" label_project_list_plural: "Listă proiecte" - label_project_attributes_plural: "Atributele proiectului" - label_project_custom_field_plural: "Atributele proiectului" + label_project_attributes_plural: "Atribute proiect" + label_project_custom_field_plural: "Atribute proiect" label_project_settings: "Setările proiectului" label_project_attributes_settings: "Project attributes settings" label_project_storage_plural: "File Storages" @@ -3040,7 +3040,7 @@ ro: permission_add_project: "Create projects" permission_add_work_package_attachments: "Adaugă fișiere" permission_add_work_package_attachments_explanation: "Allows adding attachments without Edit work packages permission" - permission_archive_project: "Proiect arhivat" + permission_archive_project: "Arhivare proiect" permission_create_user: "Create users" permission_manage_user: "Editează utilizatori" permission_manage_placeholder_user: "Creați, editați și ștergeți utilizatori de tip placeholder" @@ -3503,7 +3503,7 @@ ro: other: "Altele" passwords: "Parole" project_attributes: - heading: "Atributele proiectului" + heading: "Atribute proiect" label_new_attribute: "Atribut proiect" label_new_section: "Secțiune" label_edit_section: "Editează titlul" diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index 92a132318554..62a4c9597d26 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -3303,7 +3303,7 @@ ru: oauth_application_details_link_text: "Перейти на страницу настроек" setup_documentation_details: "Если вам нужна помощь в настройке нового хранилища файлов, пожалуйста, проверьте документацию: " setup_documentation_details_link_text: "Настройка файловых хранилищ" - show_warning_details: "Для использования этого хранилища файлов не забудьте активировать модуль и определенное хранилище в настройках проекта каждого желаемого проекта." + show_warning_details: "Для использования этого хранилища файлов не забудьте активировать модуль и конкретное хранилище в настройках проекта каждого желаемого проекта." subversion: existing_title: "Существующий репозиторий Subversion" existing_introduction: "Если у вас есть существующий репозиторий Subversion, вы можете связать его с OpenProject для доступа к нему из приложения." @@ -3408,12 +3408,12 @@ ru: setting_work_package_done_ratio: "Режим расчета прогресса" setting_work_package_done_ratio_field: "На основе трудозатрат" setting_work_package_done_ratio_field_caption_html: >- - % Завершения может быть свободно установлен на любое значение. Если Вы опционально введете значение для параметра Работа, то автоматически будет выведено значение Оставшаяся работа. + % Завершено может быть свободно установлен на любое значение. Если Вы опционально введете значение для параметра Предполагаемое время, то автоматически будет выведено значение Оставшиеся часы. setting_work_package_done_ratio_status: "На основе статуса" setting_work_package_done_ratio_status_caption_html: >- С каждым статусом связано значение % Завершения. Изменение статуса приведет к изменению % Завершения. setting_work_package_done_ratio_explanation_html: > - В режиме На основе трудозатрат для параметра % Завершения можно свободно установить любое значение. Если вы дополнительно введете значение «Работа», «Оставшаяся работа» будет получена автоматически. В режиме На основе статуса с каждым статусом связано значение % Завершения. Изменение статуса приведет к изменению % Завершения. + В режиме На основе трудозатрат для параметра % Завершено можно свободно установить любое значение. Если вы дополнительно введете значение «Предполагаемое время», «Оставшиеся часы» будут получены автоматически. В режиме На основе статуса с каждым статусом связано значение % Завершено. Изменение статуса приведет к изменению % Завершено. setting_work_package_properties: "Свойства пакета работ" setting_work_package_startdate_is_adddate: "Использовать текущую дату как дату начала для новых пакетов работ" setting_work_packages_projects_export_limit: "Ограничение экспорта пакетов работ / проектов" @@ -3432,10 +3432,10 @@ ru: setting_password_min_length: "Минимальная длина" setting_password_min_adhered_rules: "Минимальное количество необходимых классов" setting_per_page_options: "Количество объектов на страницу" - setting_percent_complete_on_status_closed: "% Завершения, когда статус закрыт" + setting_percent_complete_on_status_closed: "% Завершено, когда статус закрыт" setting_percent_complete_on_status_closed_no_change: "Без изменений" setting_percent_complete_on_status_closed_no_change_caption_html: >- - Значение % Завершения не изменится, даже если пакет работ будет закрыт. + Значение % Завершено не изменится, даже если пакет работ будет закрыт. setting_percent_complete_on_status_closed_set_100p: "Автоматически устанавливается на 100%" setting_percent_complete_on_status_closed_set_100p_caption: >- Закрытый пакет работ считается завершенным. @@ -3462,13 +3462,13 @@ ru: setting_sys_api_enabled: "Разрешить веб-сервис управления репозиторием" setting_sys_api_description: "Веб-сервис управления репозиторием обеспечивает интеграцию и авторизацию пользователя для доступа к репозиторию." setting_time_format: "Время" - setting_total_percent_complete_mode: "Расчет общего % Завершения полной иерархии" + setting_total_percent_complete_mode: "Расчёт общего % Завершено по всей иерархии" setting_total_percent_complete_mode_work_weighted_average: "Взвешенное по работе" setting_total_percent_complete_mode_work_weighted_average_caption_html: >- - Общий % Завершения будет взвешен по Работе каждого пакета работ в иерархии. Пакеты работ без Работы будут игнорироваться. + Общий % Завершено будет рассчитан как средневзвешенное значение по Предполагаемому времени каждого пакета работ в иерархии. Пакеты работ без Предполагаемого времени будут игнорироваться. setting_total_percent_complete_mode_simple_average: "Среднее арифметическое" setting_total_percent_complete_mode_simple_average_caption_html: >- - Работа игнорируется, и Общий % Завершения будет средним арифметическим значением % Завершения пакетов работ в иерархии. + Предполагаемое время игнорируется, и Общий % Завершено будет средним арифметическим от значений % Завершено пакетов работ в иерархии. setting_accessibility_mode_for_anonymous: "Разрешить режим доступа людей с ограниченными возможностями для анонимных пользователей" setting_user_format: "Формат имени пользователя" setting_user_default_timezone: "Часовой пояс пользователя по умолчанию" diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index 7e22bc3b7016..34f7a45b7591 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -639,11 +639,11 @@ zh-TW: label_relates_to_plural: "相關於" relates_description: "在兩個工作項目之間建立可見的連結,沒有額外影響" relates_to_description: "在兩個工作項目之間建立可見的連結,沒有額外影響" - label_precedes_singular: "繼承(後)" - label_precedes_plural: "繼承(後)" + label_precedes_singular: "後置任務(FS)" + label_precedes_plural: "後置任務(FS)" precedes_description: "相關的工作項目必須在完成後才開始執行" - label_follows_singular: "繼承(前)" - label_follows_plural: "繼承(前)" + label_follows_singular: "前置任務(SF)" + label_follows_plural: "前置任務(SF)" follows_description: "在這個工作項目開始之前,相關的工作必須先完成" label_child_singular: "子項目" label_child_plural: "子項目" diff --git a/modules/storages/config/locales/crowdin/ro.yml b/modules/storages/config/locales/crowdin/ro.yml index 24fb13abff1c..fa0eb8f31825 100644 --- a/modules/storages/config/locales/crowdin/ro.yml +++ b/modules/storages/config/locales/crowdin/ro.yml @@ -77,14 +77,14 @@ ro: attributes: nextcloud_sync_service: add_user_to_group: 'Add User to Group:' - create_folder: 'Managed Project Folder Creation:' + create_folder: 'Creare dosar proiect gestionat:' ensure_root_folder_permissions: 'Set Base Folder Permissions:' hide_inactive_folders: 'Hide Inactive Folders Step:' remote_folders: 'Read contents of the group folder:' remove_user_from_group: 'Remove User from Group:' rename_project_folder: 'Rename managed project Folder:' one_drive_sync_service: - create_folder: 'Managed Project Folder Creation:' + create_folder: 'Creare dosar proiect gestionat:' ensure_root_folder_permissions: 'Set Base Folder Permissions:' hide_inactive_folders: 'Hide Inactive Folders Step:' remote_folders: 'Read contents of the group folder:' diff --git a/modules/storages/config/locales/crowdin/ru.yml b/modules/storages/config/locales/crowdin/ru.yml index 77585f9a9031..f31db1501f5f 100644 --- a/modules/storages/config/locales/crowdin/ru.yml +++ b/modules/storages/config/locales/crowdin/ru.yml @@ -63,7 +63,7 @@ ru: label: Изменить папку проекта project_folder_mode: automatic: Автоматическое управление - inactive: Нет определенной папки + inactive: Нет конкретной папки manual: Существующая папка управляется вручную remove_project: deletion_failure_flash: Не удалось удалить проект из хранилища. %{error} From 5e2216da8801fd7448c72e67c178ffd8ad66f684 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 12 Dec 2024 11:18:29 +0100 Subject: [PATCH 104/121] Allow duration to be input with chronic duration --- app/services/duration_converter.rb | 4 +- .../dynamic/chronic-duration.controller.ts | 68 +++++++++++++++++++ .../meeting/app/forms/meeting/time_group.rb | 30 +++++--- modules/meeting/app/models/meeting.rb | 5 +- .../app/models/meeting/chronic_duration.rb | 41 +++++++++++ modules/meeting/spec/models/meeting_spec.rb | 23 +++++++ 6 files changed, 157 insertions(+), 14 deletions(-) create mode 100644 frontend/src/stimulus/controllers/dynamic/chronic-duration.controller.ts create mode 100644 modules/meeting/app/models/meeting/chronic_duration.rb diff --git a/app/services/duration_converter.rb b/app/services/duration_converter.rb index e2efe5a771e7..c16c3b58b0bf 100644 --- a/app/services/duration_converter.rb +++ b/app/services/duration_converter.rb @@ -96,7 +96,7 @@ def valid?(duration) false end - def output(duration_in_hours) + def output(duration_in_hours, format: default_format) return duration_in_hours if duration_in_hours.nil? seconds = (duration_in_hours * 3600).to_i @@ -142,7 +142,7 @@ def do_parse(duration_string) **duration_length_options) / 3600.to_f end - def format + def default_format Setting.duration_format == "days_and_hours" ? :days_and_hours : :hours_only end diff --git a/frontend/src/stimulus/controllers/dynamic/chronic-duration.controller.ts b/frontend/src/stimulus/controllers/dynamic/chronic-duration.controller.ts new file mode 100644 index 000000000000..fc0d69c0429a --- /dev/null +++ b/frontend/src/stimulus/controllers/dynamic/chronic-duration.controller.ts @@ -0,0 +1,68 @@ +/* + * -- 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. + * ++ + * + */ + +import { Controller } from '@hotwired/stimulus'; +import { outputChronicDuration, parseChronicDuration } from 'core-app/shared/helpers/chronic_duration'; + +export default class ChronicDurationController extends Controller { + private processChangeFn = () => this.onBlur(); + private keyPressedFn = (evt:KeyboardEvent) => this.onKeyPress(evt); + + connect() { + this.element.addEventListener('blur', this.processChangeFn); + this.element.addEventListener('keypress', this.keyPressedFn); + } + + disconnect() { + super.disconnect(); + + this.element.removeEventListener('blur', this.processChangeFn); + this.element.removeEventListener('keypress', this.keyPressedFn); + } + + private onBlur() { + const value = this.element.value; + const hours = parseChronicDuration( + value, + { + defaultUnit: 'hours', ignoreSecondsWhenColonSeperated: true, + }, + ); + + this.element.value = outputChronicDuration(hours, { format: 'hours_only' }) || ''; + } + + private onKeyPress(evt:KeyboardEvent) { + if (evt.key === 'Enter' && evt.currentTarget === this.element) { + this.element.blur(); + } + } +} diff --git a/modules/meeting/app/forms/meeting/time_group.rb b/modules/meeting/app/forms/meeting/time_group.rb index 0c6d1ff31b3e..a7c1eccd8083 100644 --- a/modules/meeting/app/forms/meeting/time_group.rb +++ b/modules/meeting/app/forms/meeting/time_group.rb @@ -58,16 +58,17 @@ class Meeting::TimeGroup < ApplicationForm ) group.text_field( name: :duration, - type: :number, - min: 0, - max: 24, - step: 0.05, + type: :text, value: @duration, placeholder: Meeting.human_attribute_name(:duration), label: Meeting.human_attribute_name(:duration), visually_hide_label: false, required: true, - caption: I18n.t("text_in_hours") + caption: I18n.t("text_in_hours"), + data: { + controller: "chronic-duration", + application_target: "dynamic" + } ) end end @@ -78,11 +79,18 @@ def initialize(meeting:) @meeting = meeting @initial_time = meeting.start_time_hour.presence || format_time(meeting.start_time, include_date: false, format: "%H:%M") @initial_date = meeting.start_date.presence || format_time_as_date(meeting.start_time, format: "%Y-%m-%d") - @duration = - if meeting.is_a?(RecurringMeeting) && meeting.template - meeting.template.duration - else - meeting.duration - end + + duration = duration_value(meeting) + @duration = duration.nil? ? "" : ChronicDuration.output(duration * 3600, format: :hours_only) + end + + private + + def duration_value(meeting) + if meeting.is_a?(RecurringMeeting) && meeting.template + meeting.template.duration + else + meeting.duration + end end end diff --git a/modules/meeting/app/models/meeting.rb b/modules/meeting/app/models/meeting.rb index 265df7658197..8f38e8a6aeaf 100644 --- a/modules/meeting/app/models/meeting.rb +++ b/modules/meeting/app/models/meeting.rb @@ -28,6 +28,7 @@ class Meeting < ApplicationRecord include VirtualStartTime + include ChronicDuration include OpenProject::Journal::AttachmentHelper self.table_name = "meetings" @@ -101,7 +102,9 @@ class Meeting < ApplicationRecord accepts_nested_attributes_for :participants, allow_destroy: true - validates_presence_of :title, :project_id, :duration + validates_presence_of :title, :project_id + + validates_numericality_of :duration, greater_than: 0 before_save :add_new_participants_as_watcher diff --git a/modules/meeting/app/models/meeting/chronic_duration.rb b/modules/meeting/app/models/meeting/chronic_duration.rb new file mode 100644 index 000000000000..a9dafc11afbf --- /dev/null +++ b/modules/meeting/app/models/meeting/chronic_duration.rb @@ -0,0 +1,41 @@ +#-- 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. +#++ + +module Meeting::ChronicDuration + def duration=(value) + if value.is_a?(Numeric) + super + else + write_attribute(:duration, DurationConverter.parse(value)) + end + end + + def formatted_duration + DurationConverter.output(duration, format: :hours_only) + end +end diff --git a/modules/meeting/spec/models/meeting_spec.rb b/modules/meeting/spec/models/meeting_spec.rb index 0604716d9558..4f1a513957b3 100644 --- a/modules/meeting/spec/models/meeting_spec.rb +++ b/modules/meeting/spec/models/meeting_spec.rb @@ -207,4 +207,27 @@ expect(StructuredMeeting.acts_as_watchable_permission).to eq(:view_meetings) end end + + describe "duration" do + it "accepts a float" do + meeting.duration = 1.5 + expect(meeting).to be_valid + expect(meeting.duration).to eq(1.5) + expect(meeting.formatted_duration).to eq("1.5h") + end + + it "accepts a string to be parsed by chronic" do + meeting.duration = "30m" + expect(meeting).to be_valid + expect(meeting.duration).to eq(0.5) + expect(meeting.formatted_duration).to eq("0.5h") + end + + it "doesn't raise on nil" do + meeting.duration = nil + expect(meeting).not_to be_valid + expect(meeting.errors[:duration]).to include("is not a number.") + expect(meeting.formatted_duration).to be_nil + end + end end From 820ecd0e8142cbe18e88d8e755b748eb50984b40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 12 Dec 2024 13:49:24 +0100 Subject: [PATCH 105/121] Fix schedule display in meeting template https://community.openproject.org/work_packages/60138 --- .../meetings/side_panel/details_component.html.erb | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/modules/meeting/app/components/meetings/side_panel/details_component.html.erb b/modules/meeting/app/components/meetings/side_panel/details_component.html.erb index d8f8fc7d623c..c9d94216d661 100644 --- a/modules/meeting/app/components/meetings/side_panel/details_component.html.erb +++ b/modules/meeting/app/components/meetings/side_panel/details_component.html.erb @@ -32,18 +32,10 @@ details.with_row do render_meeting_attribute_row(:"git-commit") do render(Primer::Beta::Text.new) do - @meeting.recurring_meeting.human_frequency + @meeting.recurring_meeting.base_schedule end end end - - details.with_row(mt: 2) do - render_meeting_attribute_row(:calendar) do - render(Primer::Beta::Text.new) do - @meeting.recurring_meeting.human_day_of_week - end - end - end if @meeting.recurring_meeting.frequency_weekly? else if @series.present? details.with_row(mb: 2) do From afde7c165fcb6c81e3554203885464f8bcb8dc0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 12 Dec 2024 15:03:11 +0100 Subject: [PATCH 106/121] Use to_hours, not DurationConverter duration convert respects working hours, which would not be rele --- modules/meeting/app/models/meeting/chronic_duration.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/meeting/app/models/meeting/chronic_duration.rb b/modules/meeting/app/models/meeting/chronic_duration.rb index a9dafc11afbf..b48a2f186cc9 100644 --- a/modules/meeting/app/models/meeting/chronic_duration.rb +++ b/modules/meeting/app/models/meeting/chronic_duration.rb @@ -28,10 +28,10 @@ module Meeting::ChronicDuration def duration=(value) - if value.is_a?(Numeric) - super + if value.is_a?(String) + write_attribute(:duration, value.to_hours) else - write_attribute(:duration, DurationConverter.parse(value)) + super end end From 44647207dfbee855cb7ce105583cc479feab33ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 12 Dec 2024 15:11:42 +0100 Subject: [PATCH 107/121] Remove recurring meeting feature flag --- config/initializers/feature_decisions.rb | 3 --- .../meetings/index_sub_header_component.html.erb | 12 +++++------- modules/meeting/app/menus/meetings/menu.rb | 14 +++----------- .../queries/meetings/filters/recurring_filter.rb | 4 ---- .../recurring_meeting_create_spec.rb | 3 +-- .../recurring_meeting_crud_spec.rb | 3 +-- 6 files changed, 10 insertions(+), 29 deletions(-) diff --git a/config/initializers/feature_decisions.rb b/config/initializers/feature_decisions.rb index 6bc6e4c17686..546662ab0263 100644 --- a/config/initializers/feature_decisions.rb +++ b/config/initializers/feature_decisions.rb @@ -47,9 +47,6 @@ description: "Allows to generate a PDF document from a work package description. " \ "See #45896 for details." -OpenProject::FeatureDecisions.add :recurring_meetings, - description: "Differentiate between one-time and recurring meetings." - # TODO: Remove once the feature flag primerized_work_package_activities is removed altogether OpenProject::FeatureDecisions.define_singleton_method(:primerized_work_package_activities_active?) do Rails.env.production? || diff --git a/modules/meeting/app/components/meetings/index_sub_header_component.html.erb b/modules/meeting/app/components/meetings/index_sub_header_component.html.erb index 70644cb58e25..1dfc5075859a 100644 --- a/modules/meeting/app/components/meetings/index_sub_header_component.html.erb +++ b/modules/meeting/app/components/meetings/index_sub_header_component.html.erb @@ -29,13 +29,11 @@ content_arguments: { data: { controller: "async-dialog" }} ) - if OpenProject::FeatureDecisions.recurring_meetings_active? - menu.with_item(label: I18n.t("meeting.types.recurring"), - tag: :a, - href: new_dialog_meetings_path(project_id: @project&.id, type: :recurring), - content_arguments: { data: { controller: "async-dialog" }} - ) - end + menu.with_item(label: I18n.t("meeting.types.recurring"), + tag: :a, + href: new_dialog_meetings_path(project_id: @project&.id, type: :recurring), + content_arguments: { data: { controller: "async-dialog" }} + ) menu.with_item(label: I18n.t("meeting.types.classic"), tag: :a, diff --git a/modules/meeting/app/menus/meetings/menu.rb b/modules/meeting/app/menus/meetings/menu.rb index f4990f3d626e..cb5a9d328c86 100644 --- a/modules/meeting/app/menus/meetings/menu.rb +++ b/modules/meeting/app/menus/meetings/menu.rb @@ -34,9 +34,9 @@ def initialize(params:, project: nil) def menu_items [ OpenProject::Menu::MenuGroup.new(header: nil, children: top_level_menu_items), - meeting_series_menu_group, + OpenProject::Menu::MenuGroup.new(header: I18n.t(:label_meeting_series), children: meeting_series_menu_items), OpenProject::Menu::MenuGroup.new(header: I18n.t(:label_involvement), children: involvement_sidebar_menu_items) - ].compact + ] end def top_level_menu_items @@ -49,13 +49,7 @@ def top_level_menu_items recurring_menu_item, menu_item(title: I18n.t(:label_all_meetings), query_params: { filters: all_filter }) - ].compact - end - - def meeting_series_menu_group - return unless OpenProject::FeatureDecisions.recurring_meetings_active? - - OpenProject::Menu::MenuGroup.new(header: I18n.t(:label_meeting_series), children: meeting_series_menu_items) + ] end def meeting_series_menu_items @@ -77,8 +71,6 @@ def meeting_series_menu_items end def recurring_menu_item - return unless OpenProject::FeatureDecisions.recurring_meetings_active? - recurring_filter = [{ type: { operator: "=", values: ["t"] } }].to_json menu_item(title: I18n.t("label_recurring_meeting_plural"), diff --git a/modules/meeting/app/models/queries/meetings/filters/recurring_filter.rb b/modules/meeting/app/models/queries/meetings/filters/recurring_filter.rb index 01279912b04d..47f4e224d2eb 100644 --- a/modules/meeting/app/models/queries/meetings/filters/recurring_filter.rb +++ b/modules/meeting/app/models/queries/meetings/filters/recurring_filter.rb @@ -37,10 +37,6 @@ def human_name I18n.t("label_recurring_meeting_part_of") end - def available? - OpenProject::FeatureDecisions.recurring_meetings_active? - end - def apply_to(query_scope) if allowed_values.first.intersect?(values) query_scope.recurring diff --git a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb index 2435b456a628..e790f6db6da7 100644 --- a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb +++ b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb @@ -35,8 +35,7 @@ RSpec.describe "Recurring meetings creation", :js, - :with_cuprite, - with_flag: { recurring_meetings: true } do + :with_cuprite do include Components::Autocompleter::NgSelectAutocompleteHelpers shared_let(:project) { create(:project, enabled_module_names: %w[meetings]) } diff --git a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_crud_spec.rb b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_crud_spec.rb index 25880aa37f37..4d4eda1669c7 100644 --- a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_crud_spec.rb +++ b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_crud_spec.rb @@ -35,8 +35,7 @@ RSpec.describe "Recurring meetings CRUD", :js, - :with_cuprite, - with_flag: { recurring_meetings: true } do + :with_cuprite do include Components::Autocompleter::NgSelectAutocompleteHelpers shared_let(:project) { create(:project, enabled_module_names: %w[meetings]) } From e34509448a1c8df4ac0f6364d9c463bb794d9e3c Mon Sep 17 00:00:00 2001 From: ulferts Date: Thu, 12 Dec 2024 17:50:17 +0100 Subject: [PATCH 108/121] attempt to stabilize flickering wp share spec --- .../work_packages/share/filter_spec.rb | 34 ++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/spec/features/work_packages/share/filter_spec.rb b/spec/features/work_packages/share/filter_spec.rb index c6682360059b..eaefdcbf6f75 100644 --- a/spec/features/work_packages/share/filter_spec.rb +++ b/spec/features/work_packages/share/filter_spec.rb @@ -276,20 +276,36 @@ it "only displays shares that match the current set of applied filters" do share_modal.expect_open + # Change all shared to have the "View" role. + retry_block do + share_modal.toggle_select_all + share_modal.bulk_update("View") + end + share_modal.toggle_select_all - share_modal.bulk_update("View") - share_modal.toggle_select_all + + # Filter for the View role share_modal.filter("role", "View") - share_modal.expect_shared_with(project_user) - share_modal.expect_shared_with(project_user2) - share_modal.expect_shared_with(inherited_project_user) - share_modal.expect_shared_with(non_project_user) - share_modal.expect_shared_with(shared_project_group) - share_modal.expect_shared_with(shared_non_project_group) + # Since all shares have the View role, all shares should be displayed. + + share_modal.expect_shared_with(project_user, "View") + share_modal.expect_shared_with(project_user2, "View") + share_modal.expect_shared_with(inherited_project_user, "View") + share_modal.expect_shared_with(non_project_user, "View") + share_modal.expect_shared_with(shared_project_group, "View") + share_modal.expect_shared_with(shared_non_project_group, "View") + + # Change one share to have the Comment role. share_modal.change_role(project_user, "Comment") + + # That share is no longer displayed as it does not match the current filter after the role change. + share_modal.expect_not_shared_with(project_user) + + # When filtering for the Comment role, only the changed share should be displayed. + share_modal.filter("role", "Comment") share_modal.expect_shared_with(project_user, "Comment") share_modal.expect_not_shared_with(project_user2) @@ -298,6 +314,8 @@ share_modal.expect_not_shared_with(shared_project_group) share_modal.expect_not_shared_with(shared_non_project_group) + # When filtering for the Edit role, no share matches and thus none should be displayed. + share_modal.filter("role", "Edit") share_modal.expect_empty_search_blankslate end From 0864c342307cc16439247c10f31bdd3f5234326b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 12 Dec 2024 16:04:03 +0100 Subject: [PATCH 109/121] Fix meeting filter translations --- .../models/queries/meetings/filters/attended_user_filter.rb | 4 ++++ .../models/queries/meetings/filters/invited_user_filter.rb | 4 ++++ .../app/models/queries/meetings/filters/time_filter.rb | 4 ++++ modules/meeting/config/locales/en.yml | 2 ++ 4 files changed, 14 insertions(+) diff --git a/modules/meeting/app/models/queries/meetings/filters/attended_user_filter.rb b/modules/meeting/app/models/queries/meetings/filters/attended_user_filter.rb index 5101106cb599..d004477eb838 100644 --- a/modules/meeting/app/models/queries/meetings/filters/attended_user_filter.rb +++ b/modules/meeting/app/models/queries/meetings/filters/attended_user_filter.rb @@ -43,6 +43,10 @@ def where "meeting_participants.user_id IN (#{values.join(',')}) AND meeting_participants.attended" end + def human_name + I18n.t(:label_attended_user) + end + def joins :participants end diff --git a/modules/meeting/app/models/queries/meetings/filters/invited_user_filter.rb b/modules/meeting/app/models/queries/meetings/filters/invited_user_filter.rb index db80fb27f544..59d8f333dfbb 100644 --- a/modules/meeting/app/models/queries/meetings/filters/invited_user_filter.rb +++ b/modules/meeting/app/models/queries/meetings/filters/invited_user_filter.rb @@ -46,6 +46,10 @@ def where ].join(" AND ") end + def human_name + I18n.t(:label_invited_user) + end + def joins :participants end diff --git a/modules/meeting/app/models/queries/meetings/filters/time_filter.rb b/modules/meeting/app/models/queries/meetings/filters/time_filter.rb index 8ac8caa5f607..f482aed8c1c6 100644 --- a/modules/meeting/app/models/queries/meetings/filters/time_filter.rb +++ b/modules/meeting/app/models/queries/meetings/filters/time_filter.rb @@ -51,6 +51,10 @@ def where end end + def human_name + Meeting.human_attribute_name(:start_time) + end + def type :list end diff --git a/modules/meeting/config/locales/en.yml b/modules/meeting/config/locales/en.yml index 7b3b83e3145f..668663764c2c 100644 --- a/modules/meeting/config/locales/en.yml +++ b/modules/meeting/config/locales/en.yml @@ -159,8 +159,10 @@ en: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" From d5fed9ae777b93cda6fa922604da83be74d7da20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 12 Dec 2024 19:44:44 +0100 Subject: [PATCH 110/121] Recurring meetings: Remove last edited column --- .../app/components/recurring_meetings/row_component.rb | 6 ------ .../app/components/recurring_meetings/table_component.rb | 3 +-- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/modules/meeting/app/components/recurring_meetings/row_component.rb b/modules/meeting/app/components/recurring_meetings/row_component.rb index fc11d9415199..8a958c871717 100644 --- a/modules/meeting/app/components/recurring_meetings/row_component.rb +++ b/modules/meeting/app/components/recurring_meetings/row_component.rb @@ -91,12 +91,6 @@ def relative_time render(OpPrimer::RelativeTimeComponent.new(datetime: user_time_zone(time), prefix: I18n.t(:label_on))) end - def last_edited - return unless instantiated? - - helpers.format_time(meeting.updated_at, include_date: true) - end - def state if model.cancelled? "cancelled" diff --git a/modules/meeting/app/components/recurring_meetings/table_component.rb b/modules/meeting/app/components/recurring_meetings/table_component.rb index 520c2c4e6a63..5b92be0e4aec 100644 --- a/modules/meeting/app/components/recurring_meetings/table_component.rb +++ b/modules/meeting/app/components/recurring_meetings/table_component.rb @@ -32,7 +32,7 @@ module RecurringMeetings class TableComponent < ::OpPrimer::BorderBoxTableComponent options :current_project, :count, :direction, :max_count - columns :start_time, :relative_time, :last_edited, :status, :create + columns :start_time, :relative_time, :status, :create def has_actions? true @@ -70,7 +70,6 @@ def headers @headers ||= [ [:start_time, { caption: I18n.t(:label_meeting_date_and_time) }], [:relative_time, { caption: I18n.t("recurring_meeting.starts") }], - [:last_edited, { caption: I18n.t(:label_meeting_last_updated) }], [:status, { caption: Meeting.human_attribute_name(:status) }], [:create, { caption: "" }] ].compact From 31660c7ba3d80751776368dbda795186259b5eb3 Mon Sep 17 00:00:00 2001 From: ulferts Date: Thu, 12 Dec 2024 16:37:45 +0100 Subject: [PATCH 111/121] attempt to stabilize flickering relations spec The before block within the context was only executed after the browser already started visiting the page. So only in case the before block was then executed quickly enough was the queried for relation actually part of the rendered relation tab. The fix is to execute the relation creation before visiting the relations tab. --- .../details/relations/primerized_relations_spec.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/spec/features/work_packages/details/relations/primerized_relations_spec.rb b/spec/features/work_packages/details/relations/primerized_relations_spec.rb index 9df9f15678bd..280045e8faee 100644 --- a/spec/features/work_packages/details/relations/primerized_relations_spec.rb +++ b/spec/features/work_packages/details/relations/primerized_relations_spec.rb @@ -83,12 +83,14 @@ project:) end - let(:full_wp_view) { Pages::FullWorkPackage.new(work_package) } let(:relations_tab) { Components::WorkPackages::Relations.new(work_package) } let(:relations_panel_selector) { ".detail-panel--relations" } let(:relations_panel) { find(relations_panel_selector) } let(:work_packages_page) { Pages::PrimerizedSplitWorkPackage.new(work_package) } let(:tabs) { Components::WorkPackages::PrimerizedTabs.new } + let(:additional_setup) do + # Nothing but contexts might overwrite it + end current_user { user } @@ -97,6 +99,7 @@ def label_for_relation_type(relation_type) end before do + additional_setup work_packages_page.visit_tab!("relations") expect_angular_frontend_initialized work_packages_page.expect_subject @@ -198,7 +201,7 @@ def label_for_relation_type(relation_type) end context "with the shown WorkPackage being the 'to' relation part" do - let(:another_wp) { create(:work_package, type: type2, subject: "related to main") } + let(:another_wp) { create(:work_package, type: type2, subject: "Successor of main") } let(:relation_to) do create(:relation, @@ -207,8 +210,7 @@ def label_for_relation_type(relation_type) relation_type: Relation::TYPE_FOLLOWS) end - before do - another_wp + let(:additional_setup) do relation_to end @@ -217,7 +219,6 @@ def label_for_relation_type(relation_type) wait_for_network_idle - relations_tab.expect_relation(another_wp) relations_tab.open_relation_dialog(another_wp) within "##{WorkPackageRelationsTab::WorkPackageRelationDialogComponent::DIALOG_ID}" do From 8402dd38fd6f9acfb119f3882f058c0deed2a4c7 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Thu, 12 Dec 2024 20:09:18 +0000 Subject: [PATCH 112/121] update locales from crowdin [ci skip] --- config/locales/crowdin/de.yml | 4 +- modules/meeting/config/locales/crowdin/af.yml | 2 + modules/meeting/config/locales/crowdin/ar.yml | 2 + modules/meeting/config/locales/crowdin/az.yml | 2 + modules/meeting/config/locales/crowdin/be.yml | 2 + modules/meeting/config/locales/crowdin/bg.yml | 2 + modules/meeting/config/locales/crowdin/ca.yml | 2 + .../meeting/config/locales/crowdin/ckb-IR.yml | 2 + modules/meeting/config/locales/crowdin/cs.yml | 2 + modules/meeting/config/locales/crowdin/da.yml | 2 + modules/meeting/config/locales/crowdin/de.yml | 54 ++++++++++--------- modules/meeting/config/locales/crowdin/el.yml | 2 + modules/meeting/config/locales/crowdin/eo.yml | 2 + modules/meeting/config/locales/crowdin/es.yml | 2 + modules/meeting/config/locales/crowdin/et.yml | 2 + modules/meeting/config/locales/crowdin/eu.yml | 2 + modules/meeting/config/locales/crowdin/fa.yml | 2 + modules/meeting/config/locales/crowdin/fi.yml | 2 + .../meeting/config/locales/crowdin/fil.yml | 2 + modules/meeting/config/locales/crowdin/fr.yml | 2 + modules/meeting/config/locales/crowdin/he.yml | 2 + modules/meeting/config/locales/crowdin/hi.yml | 2 + modules/meeting/config/locales/crowdin/hr.yml | 2 + modules/meeting/config/locales/crowdin/hu.yml | 2 + modules/meeting/config/locales/crowdin/id.yml | 2 + modules/meeting/config/locales/crowdin/it.yml | 2 + modules/meeting/config/locales/crowdin/ja.yml | 2 + modules/meeting/config/locales/crowdin/ka.yml | 2 + modules/meeting/config/locales/crowdin/kk.yml | 2 + modules/meeting/config/locales/crowdin/ko.yml | 2 + modules/meeting/config/locales/crowdin/lt.yml | 2 + modules/meeting/config/locales/crowdin/lv.yml | 2 + modules/meeting/config/locales/crowdin/mn.yml | 2 + modules/meeting/config/locales/crowdin/ms.yml | 2 + modules/meeting/config/locales/crowdin/ne.yml | 2 + modules/meeting/config/locales/crowdin/nl.yml | 2 + modules/meeting/config/locales/crowdin/no.yml | 2 + modules/meeting/config/locales/crowdin/pl.yml | 2 + .../meeting/config/locales/crowdin/pt-BR.yml | 2 + .../meeting/config/locales/crowdin/pt-PT.yml | 2 + modules/meeting/config/locales/crowdin/ro.yml | 2 + modules/meeting/config/locales/crowdin/ru.yml | 2 + modules/meeting/config/locales/crowdin/rw.yml | 2 + modules/meeting/config/locales/crowdin/si.yml | 2 + modules/meeting/config/locales/crowdin/sk.yml | 2 + modules/meeting/config/locales/crowdin/sl.yml | 2 + modules/meeting/config/locales/crowdin/sr.yml | 2 + modules/meeting/config/locales/crowdin/sv.yml | 2 + modules/meeting/config/locales/crowdin/th.yml | 2 + modules/meeting/config/locales/crowdin/tr.yml | 2 + modules/meeting/config/locales/crowdin/uk.yml | 2 + modules/meeting/config/locales/crowdin/uz.yml | 2 + modules/meeting/config/locales/crowdin/vi.yml | 2 + .../meeting/config/locales/crowdin/zh-CN.yml | 2 + .../meeting/config/locales/crowdin/zh-TW.yml | 2 + 55 files changed, 136 insertions(+), 28 deletions(-) diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index 51ce2b85a4ef..b47203cef798 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -218,7 +218,7 @@ de: heading: Für alle Projekte description: Dieses Projekt-Attribut ist in allen Projekten aktiviert, da die Option "Für alle Projekte" aktiviert ist. Es kann nicht für einzelne Projekte deaktiviert werden. items: - actions: "Element-Aktionen" + actions: "Aktionen" blankslate: root: title: "Ihre Liste der Elemente ist leer" @@ -1839,7 +1839,7 @@ de: label: "XLS" columns: input_label_report: "Spalten zur Attributtabelle hinzufügen" - input_caption_report: "Standardmäßig sind alle Attribute, die als Spalten in der Arbeitspaketliste hinzugefügt wurden, ausgewählt. Textfelder sind in der Attribut-Tabelle nicht verfügbar, können aber unterhalb der Tabelle angezeigt werden." + input_caption_report: "Standardmäßig sind alle Attribute, die als Spalten in der Arbeitspaketliste hinzugefügt wurden, ausgewählt. Langtextfelder sind in der Attributtabelle nicht verfügbar, können aber unterhalb der Tabelle angezeigt werden." input_caption_table: "Standardmäßig sind alle Attribute, die als Spalten in der Arbeitspaketliste hinzugefügt wurden, ausgewählt. Textfelder sind in tabellenbasierten Exporten nicht verfügbar." pdf: export_type: diff --git a/modules/meeting/config/locales/crowdin/af.yml b/modules/meeting/config/locales/crowdin/af.yml index 90135109d957..4fa252387497 100644 --- a/modules/meeting/config/locales/crowdin/af.yml +++ b/modules/meeting/config/locales/crowdin/af.yml @@ -140,8 +140,10 @@ af: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/ar.yml b/modules/meeting/config/locales/crowdin/ar.yml index 9ca4486ba131..638665974b48 100644 --- a/modules/meeting/config/locales/crowdin/ar.yml +++ b/modules/meeting/config/locales/crowdin/ar.yml @@ -144,8 +144,10 @@ ar: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "إرسال للمراجعة" label_icalendar: "إرسال iCalendar" diff --git a/modules/meeting/config/locales/crowdin/az.yml b/modules/meeting/config/locales/crowdin/az.yml index 7e7ed20930d5..dc49324a855d 100644 --- a/modules/meeting/config/locales/crowdin/az.yml +++ b/modules/meeting/config/locales/crowdin/az.yml @@ -140,8 +140,10 @@ az: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/be.yml b/modules/meeting/config/locales/crowdin/be.yml index f5b42b940795..9d015992365c 100644 --- a/modules/meeting/config/locales/crowdin/be.yml +++ b/modules/meeting/config/locales/crowdin/be.yml @@ -142,8 +142,10 @@ be: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/bg.yml b/modules/meeting/config/locales/crowdin/bg.yml index 7cd729de2379..1b381dc0687f 100644 --- a/modules/meeting/config/locales/crowdin/bg.yml +++ b/modules/meeting/config/locales/crowdin/bg.yml @@ -140,8 +140,10 @@ bg: label_past_meetings_short: "Предишен" label_involvement: "Участие" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Минали покани" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Изпращане за преглед" label_icalendar: "Изпращане на iCalendar" diff --git a/modules/meeting/config/locales/crowdin/ca.yml b/modules/meeting/config/locales/crowdin/ca.yml index bbe5cfbebac5..18ac78572901 100644 --- a/modules/meeting/config/locales/crowdin/ca.yml +++ b/modules/meeting/config/locales/crowdin/ca.yml @@ -140,8 +140,10 @@ ca: label_past_meetings_short: "Passades" label_involvement: "Implicació" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Invitacions passades" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Envia per revisar" label_icalendar: "Envia iCalendar" diff --git a/modules/meeting/config/locales/crowdin/ckb-IR.yml b/modules/meeting/config/locales/crowdin/ckb-IR.yml index 485df2bb0c56..249d36ba4cb4 100644 --- a/modules/meeting/config/locales/crowdin/ckb-IR.yml +++ b/modules/meeting/config/locales/crowdin/ckb-IR.yml @@ -140,8 +140,10 @@ ckb-IR: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/cs.yml b/modules/meeting/config/locales/crowdin/cs.yml index afcc37357db4..ab4321af137b 100644 --- a/modules/meeting/config/locales/crowdin/cs.yml +++ b/modules/meeting/config/locales/crowdin/cs.yml @@ -142,8 +142,10 @@ cs: label_past_meetings_short: "Minulé" label_involvement: "Zapojení" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Minulé pozvánky" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Odeslat k posouzení" label_icalendar: "Odeslat iCalendar" diff --git a/modules/meeting/config/locales/crowdin/da.yml b/modules/meeting/config/locales/crowdin/da.yml index 720aac09d547..4d7e4c51f087 100644 --- a/modules/meeting/config/locales/crowdin/da.yml +++ b/modules/meeting/config/locales/crowdin/da.yml @@ -140,8 +140,10 @@ da: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send til vurdering" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/de.yml b/modules/meeting/config/locales/crowdin/de.yml index 8df8c893bfc4..b3304fc67cbe 100644 --- a/modules/meeting/config/locales/crowdin/de.yml +++ b/modules/meeting/config/locales/crowdin/de.yml @@ -96,7 +96,7 @@ de: label_meeting_plural: "Besprechungen" label_meeting_new: "Neue Besprechung" label_meeting_new_dynamic: "Neue dynamische Besprechung" - label_meeting_new_recurring: "Neue wiederkehrende Besprechung" + label_meeting_new_recurring: "Neue Terminserie" label_meeting_create: "Besprechung erstellen" label_meeting_copy: "Besprechung kopieren" label_meeting_edit: "Besprechung bearbeiten" @@ -111,27 +111,27 @@ de: label_meeting_date_and_time: "Datum und Zeit" label_meeting_diff: "Differenz" label_recurring_meeting: "Wiederkehrende Besprechung" - label_recurring_meeting_part_of: "Teil einer Besprechungsreihe" - label_recurring_meeting_new: "Neue wiederkehrende Besprechung" + label_recurring_meeting_part_of: "Teil einer Terminserie" + label_recurring_meeting_new: "Neue Terminserie" label_recurring_meeting_plural: "Wiederkehrende Besprechungen" label_template: "Vorlage" - label_recurring_meeting_view: "Besprechungsreihe ansehen" + label_recurring_meeting_view: "Terminserie ansehen" label_recurring_meeting_create: "Aus Vorlage erstellen" label_recurring_meeting_copy: "Als einmalige Besprechung kopieren" - label_recurring_meeting_cancel: "Dieses Ereignis abbrechen" - label_recurring_meeting_delete: "Ereignis löschen" + label_recurring_meeting_cancel: "Diese Besprechung absagen" + label_recurring_meeting_delete: "Besprechung löschen" label_recurring_meeting_delete_confirmation: > - Diese Besprechung ist Teil einer Serie namens %{name}. Dadurch wird nur dieses bestimmte Ereignis und nicht die gesamte Serie gelöscht. Möchten Sie fortfahren? + Diese Besprechung ist Teil der Terminserie %{name}. Dadurch wird nur dieses bestimmte Ereignis und nicht die gesamte Serie gelöscht. Möchten Sie fortfahren? label_recurring_occurrence_delete_confirmation: > - Alle Besprechungsinformationen, die nicht in der Vorlage enthalten sind, gehen verloren. Möchten Sie fortfahren? - label_recurring_meeting_restore: "Dieses Ereignis wiederherstellen" - label_recurring_meeting_more: "Es gibt %{count} weitere geplante Besprechungen (%{schedule})." - label_recurring_meeting_more_singular: "Es gibt %{count} weitere geplante Besprechung (%{schedule})." + Alle Inhalte der Besprechung, die nicht aus der Vorlage stammen, werden gelöscht werden. Möchten Sie fortfahren? + label_recurring_meeting_restore: "Dieses Vorkommen wiederherstellen" + label_recurring_meeting_more: "Es gibt %{count} folgende Besprechungen (%{schedule})." + label_recurring_meeting_more_singular: "Es gibt %{count} folgende Besprechung (%{schedule})." label_recurring_meeting_more_past: "Es gibt %{count} weitere vergangene Besprechungen." label_recurring_meeting_more_past_singular: "Es gibt %{count} weitere vergangene Besprechung." label_recurring_meeting_show_more: "Mehr anzeigen" - label_recurring_meeting_series_edit: "Besprechungsreihe bearbeiten" - label_recurring_meeting_series_delete: "Besprechungsreihe löschen" + label_recurring_meeting_series_edit: "Terminserie bearbeiten" + label_recurring_meeting_series_delete: "Terminserie löschen" label_my_meetings: "Meine Besprechungen" label_all_meetings: "Alle Besprechungen" label_upcoming_meetings: "Zukünftige Meetings" @@ -140,22 +140,24 @@ de: label_past_meetings_short: "Vergangen" label_involvement: "Beteiligt" label_invitations: "Einladungen" + label_invited_user: "Invited user" label_past_invitations: "Vergangene Einladungen" label_attended: "Teilgenommen" + label_attended_user: "Attended user" label_created_by_me: "Von mir erstellt" label_notify: "Zur Einsicht verschicken" label_icalendar: "iCalendar senden" label_icalendar_download: "iCalendar-Termin herunterladen" - label_view_meeting_series: "Besprechungsreihe ansehen" - label_meeting_series: "Besprechungsreihe" + label_view_meeting_series: "Terminserie ansehen" + label_meeting_series: "Terminserien" label_version: "Version" label_time_zone: "Zeitzone" label_start_date: "Beginn" meeting: participants: - template: "Diese Teilnehmer werden automatisch zu allen zukünftigen Besprechungen eingeladen, sobald sie erstellt werden." + template: "Diese Teilnehmer werden automatisch zu allen zukünftigen Besprechungen eingeladen, sobald diese erstellt werden." attachments: - template: "Die angehängten Dateien werden in alle künftigen Besprechungen dieser Reihe einbezogen." + template: "Die angehängten Dateien werden in alle künftigen Besprechungen dieser Terminserie einbezogen." text: "Angehängte Dateien sind für alle Teilnehmer der Besprechung verfügbar. Sie können diese auch per Drag-and-drop in die Notizen der Tagesordnungspunkte ziehen." copy: title: "Besprechung kopieren: %{title}" @@ -195,22 +197,22 @@ de: empty_text: "Neue Agendapunkte hierhin bewegen oder neu erstellen" recurring_meeting: occurrence: - infoline: "Diese Besprechung ist Teil einer wiederkehrenden Besprechungsreihe." + infoline: "Diese Besprechung ist Teil einer Terminserie." error_no_next: "Es gibt keinen nächsten Termin für diese Serie." - first_already_exists: "Das erste Vorkommen dieses Serientermins wurde bereits angelegt." + first_already_exists: "Das erste Vorkommen dieser Terminserie wurde bereits angelegt." first_created: > Die erste Besprechung wurde erfolgreich aus der Vorlage erstellt. Weitere werden automatisch zu dem Zeitpunkt erstellt, wenn die vorhergehende Besprechung startet. template: button_finalize: "Vorlage fertigstellen" - blank_title: "Die Vorlage für den Serientermin ist leer" + blank_title: "Die Vorlage für die wiederkehrenden Besprechungen ist leer" description: > - Diese Vorlage wird immer dann verwendet, wenn neue Besprechungen des Serientermins erstellt werden. Sie können zu dieser Vorlage Tagesordnungspunkte, Teilnehmer und Anhänge hinzufügen. + Diese Vorlage wird immer dann verwendet, wenn neue Besprechungen der Terminserie erstellt werden. Sie können zu dieser Vorlage Tagesordnungspunkte, Teilnehmer und Anhänge hinzufügen. blankslate_finalize: > - Wenn Sie mit der Vorbereitung dieser Vorlage fertig sind, klicken Sie oben auf die Schaltfläche '%{button_title}', um die Einrichtung abzuschließen und die erste Besprechung des Serientermins anzulegen. - label_view_template: "Vorlagen ansehen" + Wenn Sie mit der Vorbereitung dieser Vorlage fertig sind, klicken Sie oben auf die Schaltfläche '%{button_title}', um die Einrichtung abzuschließen und die erste Besprechung der Terminserie anzulegen. + label_view_template: "Vorlage ansehen" label_edit_template: "Vorlage bearbeiten" banner_html: > - Sie bearbeiten gerade eine Vorlage für eine Besprechungsserie: %{link}. Jede neue Besprechung in diesem Serientermin kopiert diese Vorlage. Änderungen wirken sich nicht auf frühere oder bereits erstellte Besprechungen aus. + Sie bearbeiten gerade eine Vorlage einer Terminserie: %{link}. Jede neue Besprechung der Serie kopiert diese Vorlage. Änderungen wirken sich nicht auf frühere oder bereits erstellte Besprechungen aus. frequency: every_weekday: "Jeden %{day_of_the_week}" daily: "Täglich" @@ -279,7 +281,7 @@ de: text_deleted_agenda_item: 'Gelöschter Tagesordnungspunkt' label_initial_meeting_details: "Besprechung" label_meeting_details: "Besprechungsdetails" - label_meeting_series_details: "Details des Serientermins" + label_meeting_series_details: "Details der Terminserie" label_meeting_details_edit: "Besprechungsdetails bearbeiten" label_meeting_state: "Besprechungsstatus" label_meeting_state_open: "Offen" @@ -288,7 +290,7 @@ de: label_meeting_state_closed_html: "Geschlossen" label_meeting_state_agenda_created: "Tagesordnung erstellt" label_meeting_state_scheduled: "Geplant" - label_meeting_state_cancelled: "Abgebrochen" + label_meeting_state_cancelled: "Abgesagt" label_meeting_state_skipped: "Übersprungen" label_meeting_reopen_action: "Besprechung wiedereröffnen" label_meeting_close_action: "Besprechung schließen" diff --git a/modules/meeting/config/locales/crowdin/el.yml b/modules/meeting/config/locales/crowdin/el.yml index 5da806f36d1f..ba267e7cc15e 100644 --- a/modules/meeting/config/locales/crowdin/el.yml +++ b/modules/meeting/config/locales/crowdin/el.yml @@ -140,8 +140,10 @@ el: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Αποστολή για αναθεώρηση" label_icalendar: "Αποστολή στο iCalendar" diff --git a/modules/meeting/config/locales/crowdin/eo.yml b/modules/meeting/config/locales/crowdin/eo.yml index 0640cc1f8256..2cf3992151bc 100644 --- a/modules/meeting/config/locales/crowdin/eo.yml +++ b/modules/meeting/config/locales/crowdin/eo.yml @@ -140,8 +140,10 @@ eo: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/es.yml b/modules/meeting/config/locales/crowdin/es.yml index 03c8b6eaa83c..20cd63552e69 100644 --- a/modules/meeting/config/locales/crowdin/es.yml +++ b/modules/meeting/config/locales/crowdin/es.yml @@ -140,8 +140,10 @@ es: label_past_meetings_short: "Pasado" label_involvement: "Implicación" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Invitaciones pasadas" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Enviar para revisión" label_icalendar: "Enviar iCalendar" diff --git a/modules/meeting/config/locales/crowdin/et.yml b/modules/meeting/config/locales/crowdin/et.yml index 671a90c3184f..6293fc64047c 100644 --- a/modules/meeting/config/locales/crowdin/et.yml +++ b/modules/meeting/config/locales/crowdin/et.yml @@ -140,8 +140,10 @@ et: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Saada ülevaatamisele" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/eu.yml b/modules/meeting/config/locales/crowdin/eu.yml index 32b8c823665b..ef8fd55b66b3 100644 --- a/modules/meeting/config/locales/crowdin/eu.yml +++ b/modules/meeting/config/locales/crowdin/eu.yml @@ -140,8 +140,10 @@ eu: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Berrikustera bidali" label_icalendar: "Bidali iEgutegia" diff --git a/modules/meeting/config/locales/crowdin/fa.yml b/modules/meeting/config/locales/crowdin/fa.yml index ce8cade3fe99..b8e831681e17 100644 --- a/modules/meeting/config/locales/crowdin/fa.yml +++ b/modules/meeting/config/locales/crowdin/fa.yml @@ -140,8 +140,10 @@ fa: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "ارسال برای بازبینی" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/fi.yml b/modules/meeting/config/locales/crowdin/fi.yml index 6e851427231c..fba171987faf 100644 --- a/modules/meeting/config/locales/crowdin/fi.yml +++ b/modules/meeting/config/locales/crowdin/fi.yml @@ -140,8 +140,10 @@ fi: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Lähetä tarkistettavaksi" label_icalendar: "Lähetä iCalendar" diff --git a/modules/meeting/config/locales/crowdin/fil.yml b/modules/meeting/config/locales/crowdin/fil.yml index c4aff89ea2c5..bed0bd3da2e4 100644 --- a/modules/meeting/config/locales/crowdin/fil.yml +++ b/modules/meeting/config/locales/crowdin/fil.yml @@ -140,8 +140,10 @@ fil: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Ipadala para sa pagsusuri" label_icalendar: "Ipadala ang iCalendar" diff --git a/modules/meeting/config/locales/crowdin/fr.yml b/modules/meeting/config/locales/crowdin/fr.yml index 4faaa3091658..00162385de97 100644 --- a/modules/meeting/config/locales/crowdin/fr.yml +++ b/modules/meeting/config/locales/crowdin/fr.yml @@ -140,8 +140,10 @@ fr: label_past_meetings_short: "Passé" label_involvement: "Participation" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Invitations passées" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Envoyer pour révision" label_icalendar: "Envoyer iCalendar" diff --git a/modules/meeting/config/locales/crowdin/he.yml b/modules/meeting/config/locales/crowdin/he.yml index 3ea78e7d9a32..10dc1da33f6c 100644 --- a/modules/meeting/config/locales/crowdin/he.yml +++ b/modules/meeting/config/locales/crowdin/he.yml @@ -142,8 +142,10 @@ he: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "שלח לבדיקה" label_icalendar: "שלח iCalendar" diff --git a/modules/meeting/config/locales/crowdin/hi.yml b/modules/meeting/config/locales/crowdin/hi.yml index 8549b09caee3..202876e7deb8 100644 --- a/modules/meeting/config/locales/crowdin/hi.yml +++ b/modules/meeting/config/locales/crowdin/hi.yml @@ -140,8 +140,10 @@ hi: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/hr.yml b/modules/meeting/config/locales/crowdin/hr.yml index 7847fee54266..e16fd694ebad 100644 --- a/modules/meeting/config/locales/crowdin/hr.yml +++ b/modules/meeting/config/locales/crowdin/hr.yml @@ -141,8 +141,10 @@ hr: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Šalji na pregled" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/hu.yml b/modules/meeting/config/locales/crowdin/hu.yml index 94e7f998d0e7..84163801f648 100644 --- a/modules/meeting/config/locales/crowdin/hu.yml +++ b/modules/meeting/config/locales/crowdin/hu.yml @@ -140,8 +140,10 @@ hu: label_past_meetings_short: "Korábbi" label_involvement: "Bevonás " label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Korábbi meghívások" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Küldés véleményezésre" label_icalendar: "iCalendar küldése" diff --git a/modules/meeting/config/locales/crowdin/id.yml b/modules/meeting/config/locales/crowdin/id.yml index cd0327435ee5..d091031542fc 100644 --- a/modules/meeting/config/locales/crowdin/id.yml +++ b/modules/meeting/config/locales/crowdin/id.yml @@ -139,8 +139,10 @@ id: label_past_meetings_short: "Lalu" label_involvement: "Keterlibatan" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Undangan sebelumnya" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Kirim untuk ulasan" label_icalendar: "Kirim iCalendar" diff --git a/modules/meeting/config/locales/crowdin/it.yml b/modules/meeting/config/locales/crowdin/it.yml index 0349af5be54f..6e2340324229 100644 --- a/modules/meeting/config/locales/crowdin/it.yml +++ b/modules/meeting/config/locales/crowdin/it.yml @@ -140,8 +140,10 @@ it: label_past_meetings_short: "Passato" label_involvement: "Coinvolgimento" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Inviti passati" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Invia per revisione" label_icalendar: "Invia iCalendar" diff --git a/modules/meeting/config/locales/crowdin/ja.yml b/modules/meeting/config/locales/crowdin/ja.yml index 1f290e80f4cc..2c1db8c0f5ee 100644 --- a/modules/meeting/config/locales/crowdin/ja.yml +++ b/modules/meeting/config/locales/crowdin/ja.yml @@ -139,8 +139,10 @@ ja: label_past_meetings_short: "過去" label_involvement: "関与" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "過去の招待状" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "レビュー用に送信" label_icalendar: "iCalendar を送信" diff --git a/modules/meeting/config/locales/crowdin/ka.yml b/modules/meeting/config/locales/crowdin/ka.yml index 85a69640b6c6..a5a1a389ffc8 100644 --- a/modules/meeting/config/locales/crowdin/ka.yml +++ b/modules/meeting/config/locales/crowdin/ka.yml @@ -140,8 +140,10 @@ ka: label_past_meetings_short: "წარს" label_involvement: "ჩარეულობა" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "'iCalendar'-ის გაგზავნა" diff --git a/modules/meeting/config/locales/crowdin/kk.yml b/modules/meeting/config/locales/crowdin/kk.yml index 6ad39adfd7c6..53af2f25b2de 100644 --- a/modules/meeting/config/locales/crowdin/kk.yml +++ b/modules/meeting/config/locales/crowdin/kk.yml @@ -140,8 +140,10 @@ kk: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/ko.yml b/modules/meeting/config/locales/crowdin/ko.yml index ce0c85ec14e9..9d9700554b09 100644 --- a/modules/meeting/config/locales/crowdin/ko.yml +++ b/modules/meeting/config/locales/crowdin/ko.yml @@ -139,8 +139,10 @@ ko: label_past_meetings_short: "과거" label_involvement: "참여" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "과거 초대" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "검토를 위해 보내기" label_icalendar: "iCalendar 보내기" diff --git a/modules/meeting/config/locales/crowdin/lt.yml b/modules/meeting/config/locales/crowdin/lt.yml index 9e7d0cfc687e..6b314fe0a26e 100644 --- a/modules/meeting/config/locales/crowdin/lt.yml +++ b/modules/meeting/config/locales/crowdin/lt.yml @@ -142,8 +142,10 @@ lt: label_past_meetings_short: "Buvę" label_involvement: "Įsitraukimas" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Ankstesni pakvietimai" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Siųsti peržiūrai" label_icalendar: "Siųsti iCalendar formatu" diff --git a/modules/meeting/config/locales/crowdin/lv.yml b/modules/meeting/config/locales/crowdin/lv.yml index 0eca8a5a7679..a7aa6fd36a91 100644 --- a/modules/meeting/config/locales/crowdin/lv.yml +++ b/modules/meeting/config/locales/crowdin/lv.yml @@ -141,8 +141,10 @@ lv: label_past_meetings_short: "Iepriekšējās" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Iepriekšējie ielūgumi" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/mn.yml b/modules/meeting/config/locales/crowdin/mn.yml index fd12cb962d7d..c2057aaebad5 100644 --- a/modules/meeting/config/locales/crowdin/mn.yml +++ b/modules/meeting/config/locales/crowdin/mn.yml @@ -140,8 +140,10 @@ mn: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/ms.yml b/modules/meeting/config/locales/crowdin/ms.yml index f214415fe5d1..58012fc0b994 100644 --- a/modules/meeting/config/locales/crowdin/ms.yml +++ b/modules/meeting/config/locales/crowdin/ms.yml @@ -139,8 +139,10 @@ ms: label_past_meetings_short: "Lalu" label_involvement: "Penglibatan" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Jemputan yang lepas" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Hantar untuk semakan" label_icalendar: "Hantar iCalendar\n" diff --git a/modules/meeting/config/locales/crowdin/ne.yml b/modules/meeting/config/locales/crowdin/ne.yml index 6a15451726ea..ba017b08d3d4 100644 --- a/modules/meeting/config/locales/crowdin/ne.yml +++ b/modules/meeting/config/locales/crowdin/ne.yml @@ -140,8 +140,10 @@ ne: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/nl.yml b/modules/meeting/config/locales/crowdin/nl.yml index c8b4152a4487..f2696fca6deb 100644 --- a/modules/meeting/config/locales/crowdin/nl.yml +++ b/modules/meeting/config/locales/crowdin/nl.yml @@ -140,8 +140,10 @@ nl: label_past_meetings_short: "Vorige" label_involvement: "Betrokkenheid" label_invitations: "Uitnodigingen" + label_invited_user: "Invited user" label_past_invitations: "Vorige uitnodigingen" label_attended: "Deelgenomen" + label_attended_user: "Attended user" label_created_by_me: "Gemaakt door mij" label_notify: "Verzenden voor revisie" label_icalendar: "Verstuur iCalendar" diff --git a/modules/meeting/config/locales/crowdin/no.yml b/modules/meeting/config/locales/crowdin/no.yml index b8785c7c56cd..b192336ba934 100644 --- a/modules/meeting/config/locales/crowdin/no.yml +++ b/modules/meeting/config/locales/crowdin/no.yml @@ -140,8 +140,10 @@ label_past_meetings_short: "Tidligere" label_involvement: "Involvering" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Tidligere invitasjoner" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send till gjennomgang" label_icalendar: "Send til iCalendar" diff --git a/modules/meeting/config/locales/crowdin/pl.yml b/modules/meeting/config/locales/crowdin/pl.yml index 7ea244f5b51e..0b77cf6a4da1 100644 --- a/modules/meeting/config/locales/crowdin/pl.yml +++ b/modules/meeting/config/locales/crowdin/pl.yml @@ -142,8 +142,10 @@ pl: label_past_meetings_short: "Poprzednie" label_involvement: "Zaangażowanie" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Poprzednie zaproszenia" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Wyślij do przeglądu" label_icalendar: "Wyślij iCalendar" diff --git a/modules/meeting/config/locales/crowdin/pt-BR.yml b/modules/meeting/config/locales/crowdin/pt-BR.yml index 1ecaf9ac619f..132043962087 100644 --- a/modules/meeting/config/locales/crowdin/pt-BR.yml +++ b/modules/meeting/config/locales/crowdin/pt-BR.yml @@ -140,8 +140,10 @@ pt-BR: label_past_meetings_short: "Passado" label_involvement: "Envolvimento" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Convites anteriores" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Enviar para revisão" label_icalendar: "Enviar iCalendar" diff --git a/modules/meeting/config/locales/crowdin/pt-PT.yml b/modules/meeting/config/locales/crowdin/pt-PT.yml index 2ec87702b663..78898879f083 100644 --- a/modules/meeting/config/locales/crowdin/pt-PT.yml +++ b/modules/meeting/config/locales/crowdin/pt-PT.yml @@ -140,8 +140,10 @@ pt-PT: label_past_meetings_short: "Passado" label_involvement: "Envolvimento" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Convites anteriores" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Enviar para revisão" label_icalendar: "Enviar iCalendar" diff --git a/modules/meeting/config/locales/crowdin/ro.yml b/modules/meeting/config/locales/crowdin/ro.yml index 022d0984eb51..459a0bbe6265 100644 --- a/modules/meeting/config/locales/crowdin/ro.yml +++ b/modules/meeting/config/locales/crowdin/ro.yml @@ -141,8 +141,10 @@ ro: label_past_meetings_short: "Past" label_involvement: "Implicare" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Trimiteți pentru revizuire" label_icalendar: "Trimiteți iCalendar" diff --git a/modules/meeting/config/locales/crowdin/ru.yml b/modules/meeting/config/locales/crowdin/ru.yml index 4f930f95c57f..3fa8ccd42012 100644 --- a/modules/meeting/config/locales/crowdin/ru.yml +++ b/modules/meeting/config/locales/crowdin/ru.yml @@ -142,8 +142,10 @@ ru: label_past_meetings_short: "Прошедшие" label_involvement: "Вовлечение" label_invitations: "Приглашения" + label_invited_user: "Invited user" label_past_invitations: "Прошлые приглашения" label_attended: "Участвовал" + label_attended_user: "Attended user" label_created_by_me: "Создано мной" label_notify: "Отправка на рецензию" label_icalendar: "Отправить iCalendar" diff --git a/modules/meeting/config/locales/crowdin/rw.yml b/modules/meeting/config/locales/crowdin/rw.yml index 0aee4cac8bfa..30a50c0bc5af 100644 --- a/modules/meeting/config/locales/crowdin/rw.yml +++ b/modules/meeting/config/locales/crowdin/rw.yml @@ -140,8 +140,10 @@ rw: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/si.yml b/modules/meeting/config/locales/crowdin/si.yml index d2c87ce3a5d5..2062140f8696 100644 --- a/modules/meeting/config/locales/crowdin/si.yml +++ b/modules/meeting/config/locales/crowdin/si.yml @@ -140,8 +140,10 @@ si: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/sk.yml b/modules/meeting/config/locales/crowdin/sk.yml index ea77c2a1b998..c8e300517347 100644 --- a/modules/meeting/config/locales/crowdin/sk.yml +++ b/modules/meeting/config/locales/crowdin/sk.yml @@ -142,8 +142,10 @@ sk: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Odoslať na revíziu" label_icalendar: "Zaslať iKalendár" diff --git a/modules/meeting/config/locales/crowdin/sl.yml b/modules/meeting/config/locales/crowdin/sl.yml index 6bfe7108c713..26e3b4a7e93b 100644 --- a/modules/meeting/config/locales/crowdin/sl.yml +++ b/modules/meeting/config/locales/crowdin/sl.yml @@ -142,8 +142,10 @@ sl: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Pošljite v pregled" label_icalendar: "Pošljite iCalendar" diff --git a/modules/meeting/config/locales/crowdin/sr.yml b/modules/meeting/config/locales/crowdin/sr.yml index a6999b73c1c5..eed9a69de07c 100644 --- a/modules/meeting/config/locales/crowdin/sr.yml +++ b/modules/meeting/config/locales/crowdin/sr.yml @@ -141,8 +141,10 @@ sr: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/sv.yml b/modules/meeting/config/locales/crowdin/sv.yml index 428f30ca5d5d..466634282c6c 100644 --- a/modules/meeting/config/locales/crowdin/sv.yml +++ b/modules/meeting/config/locales/crowdin/sv.yml @@ -140,8 +140,10 @@ sv: label_past_meetings_short: "Past" label_involvement: "Involvering" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Tidigare inbjudningar" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Skicka för granskning" label_icalendar: "Skicka iCalendar" diff --git a/modules/meeting/config/locales/crowdin/th.yml b/modules/meeting/config/locales/crowdin/th.yml index 53cc6bde8f87..2dc826697f13 100644 --- a/modules/meeting/config/locales/crowdin/th.yml +++ b/modules/meeting/config/locales/crowdin/th.yml @@ -139,8 +139,10 @@ th: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/tr.yml b/modules/meeting/config/locales/crowdin/tr.yml index 83ff9113293e..bf3213708492 100644 --- a/modules/meeting/config/locales/crowdin/tr.yml +++ b/modules/meeting/config/locales/crowdin/tr.yml @@ -140,8 +140,10 @@ tr: label_past_meetings_short: "Geçmiş" label_involvement: "Katılım" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Geçmiş davetiyeler" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Gözden geçirilmek üzere gönder" label_icalendar: "Takvime gönder" diff --git a/modules/meeting/config/locales/crowdin/uk.yml b/modules/meeting/config/locales/crowdin/uk.yml index 7a8cb3c0f570..8b4aeb0d947e 100644 --- a/modules/meeting/config/locales/crowdin/uk.yml +++ b/modules/meeting/config/locales/crowdin/uk.yml @@ -142,8 +142,10 @@ uk: label_past_meetings_short: "Минулі" label_involvement: "Участь" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Минулі запрошення" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Надіслати на розгляд" label_icalendar: "Надіслати iCalendar" diff --git a/modules/meeting/config/locales/crowdin/uz.yml b/modules/meeting/config/locales/crowdin/uz.yml index 8da37b39ee62..b4f39d3411eb 100644 --- a/modules/meeting/config/locales/crowdin/uz.yml +++ b/modules/meeting/config/locales/crowdin/uz.yml @@ -140,8 +140,10 @@ uz: label_past_meetings_short: "Past" label_involvement: "Involvement" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Past invitations" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Send for review" label_icalendar: "Send iCalendar" diff --git a/modules/meeting/config/locales/crowdin/vi.yml b/modules/meeting/config/locales/crowdin/vi.yml index 74931b7ae188..cb596d9ee0d4 100644 --- a/modules/meeting/config/locales/crowdin/vi.yml +++ b/modules/meeting/config/locales/crowdin/vi.yml @@ -139,8 +139,10 @@ vi: label_past_meetings_short: "Đã qua" label_involvement: "Tham gia" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "Lời mời đã qua" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "Gửi để xem xét" label_icalendar: "Gửi iCalendar" diff --git a/modules/meeting/config/locales/crowdin/zh-CN.yml b/modules/meeting/config/locales/crowdin/zh-CN.yml index adc861cc291a..cd8c1b2bfc36 100644 --- a/modules/meeting/config/locales/crowdin/zh-CN.yml +++ b/modules/meeting/config/locales/crowdin/zh-CN.yml @@ -139,8 +139,10 @@ zh-CN: label_past_meetings_short: "过往" label_involvement: "参与" label_invitations: "邀请函" + label_invited_user: "Invited user" label_past_invitations: "过去的邀请" label_attended: "已出席" + label_attended_user: "Attended user" label_created_by_me: "我创建的" label_notify: "发送待审阅" label_icalendar: "发送 iCalendar" diff --git a/modules/meeting/config/locales/crowdin/zh-TW.yml b/modules/meeting/config/locales/crowdin/zh-TW.yml index 1cb80cf66c38..064659f37eea 100644 --- a/modules/meeting/config/locales/crowdin/zh-TW.yml +++ b/modules/meeting/config/locales/crowdin/zh-TW.yml @@ -139,8 +139,10 @@ zh-TW: label_past_meetings_short: "過往會議" label_involvement: "參與\n" label_invitations: "Invitations" + label_invited_user: "Invited user" label_past_invitations: "先前的會議邀請" label_attended: "Attended" + label_attended_user: "Attended user" label_created_by_me: "Created by me" label_notify: "送出審閱" label_icalendar: "發送 iCalendar" From 8e9be010aa152f714bbe30840fea574f31d8b052 Mon Sep 17 00:00:00 2001 From: Eric Guo Date: Tue, 10 Dec 2024 11:18:00 +0800 Subject: [PATCH 113/121] Using I18n save text --- app/forms/work_packages/activities_tab/journals/submit.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/forms/work_packages/activities_tab/journals/submit.rb b/app/forms/work_packages/activities_tab/journals/submit.rb index 08bce83ed9ea..defd84b26d54 100644 --- a/app/forms/work_packages/activities_tab/journals/submit.rb +++ b/app/forms/work_packages/activities_tab/journals/submit.rb @@ -28,7 +28,7 @@ module WorkPackages::ActivitiesTab::Journals class Submit < ApplicationForm form do |notes_form| - notes_form.submit(name: :submit, label: "Save", scheme: :primary, + notes_form.submit(name: :submit, label: I18n.t("button_save"), scheme: :primary, data: { test_selector: "op-submit-work-package-journal-form" }) end end From 621c0ed988be2331854aed3633d20d8611d9a6e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 12 Dec 2024 21:10:23 +0100 Subject: [PATCH 114/121] Rename dynamic meetings to One-time (#17447) * Rename dynamic meetings to One-time https://community.openproject.org/work_packages/60141 * Add content texts for the dropdowns --- .../meetings/index_sub_header_component.html.erb | 12 +++++++++--- modules/meeting/config/locales/en.yml | 11 ++++++----- .../recurring_meeting_create_spec.rb | 5 ++++- .../structured_meeting_crud_spec.rb | 3 ++- modules/meeting/spec/support/pages/meetings/index.rb | 2 +- 5 files changed, 22 insertions(+), 11 deletions(-) diff --git a/modules/meeting/app/components/meetings/index_sub_header_component.html.erb b/modules/meeting/app/components/meetings/index_sub_header_component.html.erb index 1dfc5075859a..b1aca653a074 100644 --- a/modules/meeting/app/components/meetings/index_sub_header_component.html.erb +++ b/modules/meeting/app/components/meetings/index_sub_header_component.html.erb @@ -27,18 +27,24 @@ tag: :a, href: new_dialog_meetings_path(project_id: @project&.id, type: :structured), content_arguments: { data: { controller: "async-dialog" }} - ) + ) do |item| + item.with_description.with_content(t("meeting.types.structured_text")) + end menu.with_item(label: I18n.t("meeting.types.recurring"), tag: :a, href: new_dialog_meetings_path(project_id: @project&.id, type: :recurring), content_arguments: { data: { controller: "async-dialog" }} - ) + ) do |item| + item.with_description.with_content(t("meeting.types.recurring_text")) + end menu.with_item(label: I18n.t("meeting.types.classic"), tag: :a, href: dynamic_path - ) + ) do |item| + item.with_description.with_content(t("meeting.types.classic_text")) + end end end end diff --git a/modules/meeting/config/locales/en.yml b/modules/meeting/config/locales/en.yml index 668663764c2c..6c16dc89c19c 100644 --- a/modules/meeting/config/locales/en.yml +++ b/modules/meeting/config/locales/en.yml @@ -72,7 +72,7 @@ en: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -111,7 +111,7 @@ en: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -205,10 +205,11 @@ en: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" diff --git a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb index e790f6db6da7..088f06039396 100644 --- a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb +++ b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb @@ -69,7 +69,10 @@ meetings_page.visit! expect(page).to have_current_path(meetings_page.path) meetings_page.click_on "add-meeting-button" - meetings_page.click_on "Recurring" + + page.within("action-list") do + meetings_page.click_on "Recurring" + end wait_for_network_idle diff --git a/modules/meeting/spec/features/structured_meetings/structured_meeting_crud_spec.rb b/modules/meeting/spec/features/structured_meetings/structured_meeting_crud_spec.rb index 9810d8af32ef..01e87ed8e85e 100644 --- a/modules/meeting/spec/features/structured_meetings/structured_meeting_crud_spec.rb +++ b/modules/meeting/spec/features/structured_meetings/structured_meeting_crud_spec.rb @@ -72,7 +72,7 @@ meetings_page.visit! expect(page).to have_current_path(meetings_page.path) # rubocop:disable RSpec/ExpectInHook meetings_page.click_on "add-meeting-button" - meetings_page.click_on "Dynamic" + meetings_page.click_on "One-time" meetings_page.set_title "Some title" meetings_page.set_start_date "2013-03-28" @@ -290,6 +290,7 @@ click_on("Save") end + wait_for_network_idle click_on("op-meetings-header-action-trigger") retry_block do diff --git a/modules/meeting/spec/support/pages/meetings/index.rb b/modules/meeting/spec/support/pages/meetings/index.rb index 85eeb113f837..624ed36a3322 100644 --- a/modules/meeting/spec/support/pages/meetings/index.rb +++ b/modules/meeting/spec/support/pages/meetings/index.rb @@ -109,7 +109,7 @@ def expect_create_new_types click_on("add-meeting-button") expect(page).to have_link("Classic") - expect(page).to have_link("Dynamic") + expect(page).to have_link("One-time") end def expect_copy_action(meeting) From b3ecfa70d966f00f2da3ffe30870717b3ecb8f86 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Thu, 12 Dec 2024 20:11:24 +0000 Subject: [PATCH 115/121] update locales from crowdin [ci skip] --- config/locales/crowdin/de.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index 9dafcd64e27c..08d069487e1e 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -218,7 +218,7 @@ de: heading: Für alle Projekte description: Dieses Projekt-Attribut ist in allen Projekten aktiviert, da die Option "Für alle Projekte" aktiviert ist. Es kann nicht für einzelne Projekte deaktiviert werden. items: - actions: "Element-Aktionen" + actions: "Aktionen" blankslate: root: title: "Ihre Liste der Elemente ist leer" @@ -1822,7 +1822,7 @@ de: label: "XLS" columns: input_label_report: "Spalten zur Attributtabelle hinzufügen" - input_caption_report: "Standardmäßig sind alle Attribute, die als Spalten in der Arbeitspaketliste hinzugefügt wurden, ausgewählt. Textfelder sind in der Attribut-Tabelle nicht verfügbar, können aber unterhalb der Tabelle angezeigt werden." + input_caption_report: "Standardmäßig sind alle Attribute, die als Spalten in der Arbeitspaketliste hinzugefügt wurden, ausgewählt. Langtextfelder sind in der Attributtabelle nicht verfügbar, können aber unterhalb der Tabelle angezeigt werden." input_caption_table: "Standardmäßig sind alle Attribute, die als Spalten in der Arbeitspaketliste hinzugefügt wurden, ausgewählt. Textfelder sind in tabellenbasierten Exporten nicht verfügbar." pdf: export_type: From 15beb51c761b499ff92ae1a926a8cc92fce52f64 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Fri, 13 Dec 2024 03:22:38 +0000 Subject: [PATCH 116/121] update locales from crowdin [ci skip] --- config/locales/crowdin/js-zh-CN.yml | 10 +- config/locales/crowdin/js-zh-TW.yml | 10 +- config/locales/crowdin/zh-CN.yml | 32 +++--- config/locales/crowdin/zh-TW.yml | 56 +++++----- modules/bim/config/locales/crowdin/zh-CN.yml | 2 +- modules/bim/config/locales/crowdin/zh-TW.yml | 2 +- .../gantt/config/locales/crowdin/js-mn.yml | 2 +- modules/meeting/config/locales/crowdin/af.yml | 11 +- modules/meeting/config/locales/crowdin/ar.yml | 11 +- modules/meeting/config/locales/crowdin/az.yml | 11 +- modules/meeting/config/locales/crowdin/be.yml | 11 +- modules/meeting/config/locales/crowdin/bg.yml | 11 +- modules/meeting/config/locales/crowdin/ca.yml | 11 +- .../meeting/config/locales/crowdin/ckb-IR.yml | 11 +- modules/meeting/config/locales/crowdin/cs.yml | 11 +- modules/meeting/config/locales/crowdin/da.yml | 11 +- modules/meeting/config/locales/crowdin/de.yml | 17 +-- modules/meeting/config/locales/crowdin/el.yml | 11 +- modules/meeting/config/locales/crowdin/eo.yml | 11 +- modules/meeting/config/locales/crowdin/es.yml | 11 +- modules/meeting/config/locales/crowdin/et.yml | 11 +- modules/meeting/config/locales/crowdin/eu.yml | 11 +- modules/meeting/config/locales/crowdin/fa.yml | 11 +- modules/meeting/config/locales/crowdin/fi.yml | 11 +- .../meeting/config/locales/crowdin/fil.yml | 11 +- modules/meeting/config/locales/crowdin/fr.yml | 11 +- modules/meeting/config/locales/crowdin/he.yml | 11 +- modules/meeting/config/locales/crowdin/hi.yml | 11 +- modules/meeting/config/locales/crowdin/hr.yml | 11 +- modules/meeting/config/locales/crowdin/hu.yml | 11 +- modules/meeting/config/locales/crowdin/id.yml | 11 +- modules/meeting/config/locales/crowdin/it.yml | 11 +- modules/meeting/config/locales/crowdin/ja.yml | 11 +- modules/meeting/config/locales/crowdin/ka.yml | 11 +- modules/meeting/config/locales/crowdin/kk.yml | 11 +- modules/meeting/config/locales/crowdin/ko.yml | 11 +- modules/meeting/config/locales/crowdin/lt.yml | 11 +- modules/meeting/config/locales/crowdin/lv.yml | 11 +- modules/meeting/config/locales/crowdin/mn.yml | 11 +- modules/meeting/config/locales/crowdin/ms.yml | 11 +- modules/meeting/config/locales/crowdin/ne.yml | 11 +- modules/meeting/config/locales/crowdin/nl.yml | 11 +- modules/meeting/config/locales/crowdin/no.yml | 11 +- modules/meeting/config/locales/crowdin/pl.yml | 11 +- .../meeting/config/locales/crowdin/pt-BR.yml | 11 +- .../meeting/config/locales/crowdin/pt-PT.yml | 11 +- modules/meeting/config/locales/crowdin/ro.yml | 11 +- modules/meeting/config/locales/crowdin/ru.yml | 11 +- modules/meeting/config/locales/crowdin/rw.yml | 11 +- modules/meeting/config/locales/crowdin/si.yml | 11 +- modules/meeting/config/locales/crowdin/sk.yml | 11 +- modules/meeting/config/locales/crowdin/sl.yml | 11 +- modules/meeting/config/locales/crowdin/sr.yml | 11 +- modules/meeting/config/locales/crowdin/sv.yml | 11 +- modules/meeting/config/locales/crowdin/th.yml | 11 +- modules/meeting/config/locales/crowdin/tr.yml | 11 +- modules/meeting/config/locales/crowdin/uk.yml | 11 +- modules/meeting/config/locales/crowdin/uz.yml | 11 +- modules/meeting/config/locales/crowdin/vi.yml | 11 +- .../meeting/config/locales/crowdin/zh-CN.yml | 31 +++--- .../meeting/config/locales/crowdin/zh-TW.yml | 103 +++++++++--------- .../config/locales/crowdin/zh-CN.yml | 8 +- .../storages/config/locales/crowdin/zh-TW.yml | 4 +- 63 files changed, 446 insertions(+), 392 deletions(-) diff --git a/config/locales/crowdin/js-zh-CN.yml b/config/locales/crowdin/js-zh-CN.yml index 58cfe31de32d..4149d199be1f 100644 --- a/config/locales/crowdin/js-zh-CN.yml +++ b/config/locales/crowdin/js-zh-CN.yml @@ -653,7 +653,7 @@ zh-CN: message: "有新的通知。" link_text: "点击此处加载。" reminders: - note: "Note: “%{note}”" + note: "注:\"%{note}\"" settings: change_notification_settings: '您可以修改您的通知设置,以确保您不会错过重要的更新。' title: "通知设置" @@ -1045,11 +1045,11 @@ zh-CN: duplicate_query_title: "此视图的名称已存在。仍要更改?" text_no_results: "未找到匹配的视图。" reminders: - button_label: "Set reminder" + button_label: "设置提醒" title: - new: "Set reminder" - edit: "Edit reminder" - subtitle: "You will receive a notification for this work package at the chosen time." + new: "设置提醒" + edit: "编辑提醒" + subtitle: "您将在所选时间收到此工作包的通知。" scheduling: is_parent: "此工作包的日期会自动从其子项推导出。可激活“手动计划”来设置日期。" is_switched_from_manual_to_automatic: "由于与其他工作包的关系,在从手动计划切换为自动计划后,此工作包的日期可能需要重新计算。" diff --git a/config/locales/crowdin/js-zh-TW.yml b/config/locales/crowdin/js-zh-TW.yml index 03c2a146699d..ea6a61fa8d1f 100644 --- a/config/locales/crowdin/js-zh-TW.yml +++ b/config/locales/crowdin/js-zh-TW.yml @@ -619,7 +619,7 @@ zh-TW: prioritized: "已優先" dateAlert: "日期提醒" shared: "參與" - reminder: "Reminder" + reminder: "提醒" date_alerts: milestone_date: "里程碑日期" overdue: "逾期" @@ -652,7 +652,7 @@ zh-TW: message: "您有新的通知" link_text: "點擊此處加載。" reminders: - note: "Note: “%{note}”" + note: "備註: \"%{note}\"" settings: change_notification_settings: '您可以修改 通知設定,以確保您不會錯過重要更新。' title: "通知設定" @@ -1044,10 +1044,10 @@ zh-TW: duplicate_query_title: "此版面的名稱已存在。確定改變?" text_no_results: "找不到符合的版面。" reminders: - button_label: "Set reminder" + button_label: "設定提醒" title: - new: "Set reminder" - edit: "Edit reminder" + new: "設定提醒" + edit: "編輯提醒" subtitle: "You will receive a notification for this work package at the chosen time." scheduling: is_parent: "此工作包的日期會自動從其子項推導出。可啟用“手動計劃”來設置日期。" diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index 97724e131a4b..23fe7e16b37b 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -843,8 +843,8 @@ zh-CN: from: "工作包" to: "相关的工作包" reminder: - remind_at_date: "Date" - remind_at_time: "Time" + remind_at_date: "日期" + remind_at_time: "时间" repository: url: "URL" role: @@ -1413,7 +1413,7 @@ zh-CN: login: "用户名" mail: "电子邮件" name: "名称" - note: "Note" + note: "备注" password: "密码" priority: "优先级" project: "项目" @@ -1510,7 +1510,7 @@ zh-CN: button_print: "打印" button_quote: "引用" button_remove: 移除 - button_remove_reminder: "Remove reminder" + button_remove_reminder: "删除提醒" button_rename: "重命名" button_replace: "替换" button_revoke: "撤消" @@ -1521,7 +1521,7 @@ zh-CN: button_save_as: "另存为" button_apply_changes: "应用更改" button_save_back: "保存并返回" - button_set_reminder: "Set reminder" + button_set_reminder: "设置提醒" button_show: "显示" button_sort: "排序" button_submit: "提交" @@ -1709,8 +1709,8 @@ zh-CN: direction: 从左向右 ee: upsale: - title: "Enterprise add-on" - link_title: "More information" + title: "企业附加组件" + link_title: "更多信息" form_configuration: description: "使用以下附加组件自定义表单配置:" add_groups: "添加新属性组" @@ -1747,7 +1747,7 @@ zh-CN: error_pdf_export_too_many_columns: "选择 PDF 导出的列太多。请减少列数。" error_pdf_failed_to_export: "无法保存被导出的 PDF 文件:%{error}" error_token_authenticity: "无法验证跨站请求伪造令牌。您是否曾尝试在多个浏览器或选项卡上提交数据?请关闭所有选项卡并重试。" - error_reminder_not_found: "The reminder was not found or was already notified about." + error_reminder_not_found: "未找到提醒或已收到相关提醒的通知。" error_work_package_not_found_in_project: "工作包找不到或不属于此项目" error_work_package_id_not_found: "工作包未找到" error_must_be_project_member: "必须是项目成员" @@ -2041,7 +2041,7 @@ zh-CN: responsible: "负责人" shared: "共享" watched: "关注人" - reminder: "Reminder" + reminder: "提醒" facets: unread: "未读" unread_title: "显示未读信息" @@ -2212,7 +2212,7 @@ zh-CN: label_delete: "删除" label_deleted: "已删除" label_deleted_custom_field: "(删除自定义字段)" - label_deleted_custom_item: "(deleted item)" + label_deleted_custom_item: "(删除项目)" label_deleted_custom_option: "(删除的选项)" label_empty_element: "(空)" label_missing_or_hidden_custom_option: "(缺少值或缺少访问权限)" @@ -2597,7 +2597,7 @@ zh-CN: label_this_month: "这个月" label_this_week: "这一周" label_this_year: "这一年" - label_time: "Time" + label_time: "时间" label_time_entry_plural: "已耗工时" label_time_entry_activity_plural: "花费时间的活动" label_title: "标题" @@ -3742,11 +3742,11 @@ zh-CN: view: "查看" view_description: "可以查看此工作包。" reminders: - label_remind_at: "Date" - note_placeholder: "Why are you setting this reminder?" - success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." - success_update_message: "Reminder updated successfully." - success_deletion_message: "Reminder deleted successfully." + label_remind_at: "日期" + note_placeholder: "您为什么要设置此提醒?" + success_creation_message: "提醒设置成功。您将在所选时间收到此工作包的通知。" + success_update_message: "提醒更新成功。" + success_deletion_message: "提醒已成功删除。" sharing: count: zero: "0 个用户" diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index ceb2e35c66ae..b94109b6eba4 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -490,12 +490,12 @@ zh-TW: groups: member_in_these_groups: "此用戶當前是以下群組的成員:" no_results_title_text: 這個使用者目前不是任何群組的成員 - summary_with_more: Member of %{names} and %{count_link}. - more: "%{count} more" - summary: Member of %{names}. + summary_with_more: '%{names} 和 %{count_link}的成員。' + more: "其餘 %{count} 項" + summary: '%{names}的成員。' memberships: no_results_title_text: 這個使用者目前不是任何專案的成員 - open_profile: "Open profile" + open_profile: "開啟個人資料" page: text: "文字" placeholder_users: @@ -637,8 +637,8 @@ zh-TW: label_edit_x: "編輯:%{x}" label_add_description: "新增說明" lag: - subject: "Lag" - title: "Lag (in days)" + subject: "延遲" + title: "延遲(天數)" caption: "The gap in number of working days in between the two work packages" relations: label_relates_singular: "相關於" @@ -845,8 +845,8 @@ zh-TW: from: "工作項目" to: "相關的工作項目" reminder: - remind_at_date: "Date" - remind_at_time: "Time" + remind_at_date: "日期" + remind_at_time: "時間" repository: url: "URL" role: @@ -935,7 +935,7 @@ zh-TW: messages: accepted: "必須被接受" after: "必須在 %{date} 之後" - after_today: "must be in the future." + after_today: "必須是未來時間。" after_or_equal_to: "必須在 %{date} 以後" before: "必須在 %{date} 之前" before_or_equal_to: "必須在 %{date} 以前" @@ -982,7 +982,7 @@ zh-TW: not_an_integer: "不是整數" not_an_iso_date: "不是有效日期。所需格式:YYYY-MM-DD。" not_same_project: "不屬於相同的專案" - datetime_must_be_in_future: "must be in the future." + datetime_must_be_in_future: "必須是未來時間。" odd: "必須是奇數" regex_match_failed: "與正則表達式 %{expression} 不匹配。" regex_invalid: "不能被相關聯的正則運算式驗證。" @@ -1415,7 +1415,7 @@ zh-TW: login: "使用者帳號" mail: "電子郵件" name: "名稱" - note: "Note" + note: "備註" password: "密碼" priority: "優先等級" project: "專案" @@ -1512,7 +1512,7 @@ zh-TW: button_print: "列印" button_quote: "引言" button_remove: 刪除 - button_remove_reminder: "Remove reminder" + button_remove_reminder: "移除提醒" button_rename: "重新命名" button_replace: "取代" button_revoke: "撤銷" @@ -1523,7 +1523,7 @@ zh-TW: button_save_as: "另存為" button_apply_changes: "套用設定" button_save_back: "儲存並返回" - button_set_reminder: "Set reminder" + button_set_reminder: "設定提醒" button_show: "顯示" button_sort: "排序" button_submit: "提交" @@ -1711,8 +1711,8 @@ zh-TW: direction: 由左至右 ee: upsale: - title: "Enterprise add-on" - link_title: "More information" + title: "企業版附加元件" + link_title: "更多資訊" form_configuration: description: "使用以下附加組件自定義表單配置:" add_groups: "增加新的屬性群組" @@ -1749,7 +1749,7 @@ zh-TW: error_pdf_export_too_many_columns: "為 PDF 匯出選擇的列太多。請減少列數。" error_pdf_failed_to_export: "無法另存 pdf 匯出: %{error}" error_token_authenticity: "無法驗證跨網域請求權杖(Token)。你是不是試圖在多個瀏覽器或者分頁上傳送資料?請關閉所有的分頁後再試一次。" - error_reminder_not_found: "The reminder was not found or was already notified about." + error_reminder_not_found: "未找到提醒內容或已收到相關通知。" error_work_package_not_found_in_project: "工作項目找不到或是不屬於這個專案" error_work_package_id_not_found: "無此工作項目" error_must_be_project_member: "必須是專案的成員" @@ -2043,7 +2043,7 @@ zh-TW: responsible: "負責人" shared: "參與" watched: "監看者" - reminder: "Reminder" + reminder: "提醒" facets: unread: "未讀" unread_title: "顯示未讀" @@ -2211,10 +2211,10 @@ zh-TW: label_default: "預設" label_delete_user: "刪除使用者" label_delete_project: "刪除專案" - label_delete: "Delete" + label_delete: "删除" label_deleted: "刪除線" label_deleted_custom_field: "(已刪除的客製欄位)" - label_deleted_custom_item: "(deleted item)" + label_deleted_custom_item: "(刪除項目)" label_deleted_custom_option: "(刪除的選項)" label_empty_element: "(空)" label_missing_or_hidden_custom_option: "(缺少值或缺少訪問權限)" @@ -2536,7 +2536,7 @@ zh-TW: label_reporting: "報表" label_reporting_plural: "報表" label_repository: "版本庫" - label_repository_remove: "Remove repository" + label_repository_remove: "移除儲存庫" label_repository_root: "版本庫根目錄" label_repository_plural: "Repositories" label_required: "必要" @@ -2599,7 +2599,7 @@ zh-TW: label_this_month: "本月" label_this_week: "本週" label_this_year: "今年" - label_time: "Time" + label_time: "時間" label_time_entry_plural: "耗時" label_time_entry_activity_plural: "耗時活動" label_title: "標題" @@ -2635,7 +2635,7 @@ zh-TW: label_user_settings: "使用者設定" label_users_settings: "使用者設定" label_version_new: "新增版本" - label_version_edit: "Edit version" + label_version_edit: "編輯版本" label_version_plural: "版本" label_version_sharing_descendants: "與子專案" label_version_sharing_hierarchy: "有專案階層" @@ -2939,7 +2939,7 @@ zh-TW: notice_successful_connection: "連接成功" notice_successful_create: "建立成功" notice_successful_delete: "刪除成功" - notice_successful_cancel: "Successful cancellation." + notice_successful_cancel: "取消成功" notice_successful_update: "更新成功" notice_successful_update_custom_fields_added_to_project: | 更新成功。相關類型之專案,此客製欄位會自動啟動。看更多。 @@ -3047,7 +3047,7 @@ zh-TW: permission_select_project_modules: "選擇專案的模組" permission_share_work_packages: "參與工作項目" permission_manage_types: "選擇類型" - permission_manage_own_reminders: "Create own reminders" + permission_manage_own_reminders: "建立自己的提醒事項" permission_view_project: "檢視專案" permission_view_changesets: "在 OpenProject 檢視版本庫修訂" permission_view_commit_author_statistics: "檢視 Commit 的作者統計資訊" @@ -3748,11 +3748,11 @@ zh-TW: view: "檢視" view_description: "查看此工作項目" reminders: - label_remind_at: "Date" + label_remind_at: "日期" note_placeholder: "Why are you setting this reminder?" - success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." - success_update_message: "Reminder updated successfully." - success_deletion_message: "Reminder deleted successfully." + success_creation_message: "提醒設定成功。您會在選定的時間收到此工作項目的通知。" + success_update_message: "提醒成功更新" + success_deletion_message: "提醒已成功刪除。" sharing: count: zero: "0個用戶" diff --git a/modules/bim/config/locales/crowdin/zh-CN.yml b/modules/bim/config/locales/crowdin/zh-CN.yml index af2b01fa82d6..4f3239732f93 100644 --- a/modules/bim/config/locales/crowdin/zh-CN.yml +++ b/modules/bim/config/locales/crowdin/zh-CN.yml @@ -9,7 +9,7 @@ zh-CN: label_bcf: 'BCF' label_imported_failed: '导入 BCF 主题失败' label_imported_successfully: '已成功导入 BCF 主题' - label_bcf_issue_associated: "BCF issue associated" + label_bcf_issue_associated: "相关的 BCF 问题" issues: "问题" recommended: '推荐' not_recommended: '不推荐' diff --git a/modules/bim/config/locales/crowdin/zh-TW.yml b/modules/bim/config/locales/crowdin/zh-TW.yml index c8b9e0122173..e4bfd930797e 100644 --- a/modules/bim/config/locales/crowdin/zh-TW.yml +++ b/modules/bim/config/locales/crowdin/zh-TW.yml @@ -9,7 +9,7 @@ zh-TW: label_bcf: 'BCF' label_imported_failed: '無法匯入 BCF 主題' label_imported_successfully: ' ' - label_bcf_issue_associated: "BCF issue associated" + label_bcf_issue_associated: "相關 BCF 問題" issues: "問題集" recommended: '推薦' not_recommended: '不推薦' diff --git a/modules/gantt/config/locales/crowdin/js-mn.yml b/modules/gantt/config/locales/crowdin/js-mn.yml index 06c711fbbf89..e126cc447b3f 100644 --- a/modules/gantt/config/locales/crowdin/js-mn.yml +++ b/modules/gantt/config/locales/crowdin/js-mn.yml @@ -2,4 +2,4 @@ mn: js: work_packages: default_queries: - milestones: 'Milestones' + milestones: 'Чухал үеүүд' diff --git a/modules/meeting/config/locales/crowdin/af.yml b/modules/meeting/config/locales/crowdin/af.yml index 4fa252387497..e03952906f4f 100644 --- a/modules/meeting/config/locales/crowdin/af.yml +++ b/modules/meeting/config/locales/crowdin/af.yml @@ -61,7 +61,7 @@ af: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -95,7 +95,7 @@ af: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ af: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/ar.yml b/modules/meeting/config/locales/crowdin/ar.yml index 638665974b48..a611c21c6209 100644 --- a/modules/meeting/config/locales/crowdin/ar.yml +++ b/modules/meeting/config/locales/crowdin/ar.yml @@ -65,7 +65,7 @@ ar: invalid_time_format: "ليس وقتًا صالحًا. التصميم المطلوب: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "جدول الأعمال" meeting_minutes: "محضر الجلسة" @@ -99,7 +99,7 @@ ar: label_meeting: "الاجتماع" label_meeting_plural: "الاجتماعات" label_meeting_new: "اجتماع جديد" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -188,10 +188,11 @@ ar: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "نسخ من الاجتماع #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/az.yml b/modules/meeting/config/locales/crowdin/az.yml index dc49324a855d..2725b3ece425 100644 --- a/modules/meeting/config/locales/crowdin/az.yml +++ b/modules/meeting/config/locales/crowdin/az.yml @@ -61,7 +61,7 @@ az: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -95,7 +95,7 @@ az: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ az: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/be.yml b/modules/meeting/config/locales/crowdin/be.yml index 9d015992365c..76b08f5668c9 100644 --- a/modules/meeting/config/locales/crowdin/be.yml +++ b/modules/meeting/config/locales/crowdin/be.yml @@ -63,7 +63,7 @@ be: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -97,7 +97,7 @@ be: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -186,10 +186,11 @@ be: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/bg.yml b/modules/meeting/config/locales/crowdin/bg.yml index 1b381dc0687f..5d379e1086d2 100644 --- a/modules/meeting/config/locales/crowdin/bg.yml +++ b/modules/meeting/config/locales/crowdin/bg.yml @@ -61,7 +61,7 @@ bg: invalid_time_format: "не е валидно време. Задължителен формат: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Среща (динамична)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Точка от дневния ред" meeting_agenda: "Дневен ред" meeting_minutes: "Минути" @@ -95,7 +95,7 @@ bg: label_meeting: "среща" label_meeting_plural: "Срещи" label_meeting_new: "Нова среща" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ bg: label_mail_all_participants: "Изпрати имейл до всички участници" types: classic: "Класически" - classic_text: "Организирайте срещата си в текстова програма и протокол, които могат да се форматират." - structured: "Динамичен" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Организирайте срещата си като списък с точки от дневния ред, като по желание ги свържете с работен пакет." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Копирането на среща понастоящем не копира свързаните с нея точки от дневния ред, а само подробностите." copied: "Копирано от среща #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/ca.yml b/modules/meeting/config/locales/crowdin/ca.yml index 18ac78572901..b0b3a1079914 100644 --- a/modules/meeting/config/locales/crowdin/ca.yml +++ b/modules/meeting/config/locales/crowdin/ca.yml @@ -61,7 +61,7 @@ ca: invalid_time_format: "no és una hora vàlida. El format requerit és: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Reunió (dinàmica)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Element d'agenda" meeting_agenda: "Agenda" meeting_minutes: "Acta" @@ -95,7 +95,7 @@ ca: label_meeting: "Reunió" label_meeting_plural: "Reunions" label_meeting_new: "Nova reunió" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ ca: label_mail_all_participants: "Envia un correu a tots els participants" types: classic: "Clàssica" - classic_text: "Organitzeu la vostra reunió en una agenda i un protocol de text formatejables." - structured: "Dinàmica" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organitza la vostra reunió com una llista d'elements de l'agenda, enllaçant-los opcionalment a un paquet de treball." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Actualment en copiar una reunió no es copiaran els elements associats a l'agenda de la reunió, només els detalls." copied: "Copiat de la reunió #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/ckb-IR.yml b/modules/meeting/config/locales/crowdin/ckb-IR.yml index 249d36ba4cb4..7b5e3a149d2e 100644 --- a/modules/meeting/config/locales/crowdin/ckb-IR.yml +++ b/modules/meeting/config/locales/crowdin/ckb-IR.yml @@ -61,7 +61,7 @@ ckb-IR: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -95,7 +95,7 @@ ckb-IR: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ ckb-IR: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/cs.yml b/modules/meeting/config/locales/crowdin/cs.yml index ab4321af137b..10fad8337ed8 100644 --- a/modules/meeting/config/locales/crowdin/cs.yml +++ b/modules/meeting/config/locales/crowdin/cs.yml @@ -63,7 +63,7 @@ cs: invalid_time_format: "není platný čas. Požadovaný formát: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "" + structured_meeting: "One-time meeting" meeting_agenda_item: "Pořad jednání" meeting_agenda: "Agenda" meeting_minutes: "Zápis" @@ -97,7 +97,7 @@ cs: label_meeting: "Schůzka" label_meeting_plural: "Schůzky" label_meeting_new: "Nová schůzka" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Vytvořit schůzku" label_meeting_copy: "Kopírovat schůzku" @@ -186,10 +186,11 @@ cs: label_mail_all_participants: "Poslat e-mail všem účastníkům" types: classic: "Klasické" - classic_text: "Uspořádat schůzku do formátů textového programu a protokolu." - structured: "Dynamický" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Uspořádat schůzku jako seznam bodů pořadu jednání, případně je propojit s pracovním balíčkem." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." 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}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/da.yml b/modules/meeting/config/locales/crowdin/da.yml index 4d7e4c51f087..177e036e0cc8 100644 --- a/modules/meeting/config/locales/crowdin/da.yml +++ b/modules/meeting/config/locales/crowdin/da.yml @@ -61,7 +61,7 @@ da: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Dagsorden" meeting_minutes: "Referat" @@ -95,7 +95,7 @@ da: label_meeting: "Møde" label_meeting_plural: "Møder" label_meeting_new: "Nyt møde" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ da: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/de.yml b/modules/meeting/config/locales/crowdin/de.yml index b3304fc67cbe..d5e73c5fb2ae 100644 --- a/modules/meeting/config/locales/crowdin/de.yml +++ b/modules/meeting/config/locales/crowdin/de.yml @@ -61,7 +61,7 @@ de: invalid_time_format: "ist keine gültige Zeit. Erforderliches Format: HH:MM" models: recurring_meeting: "Wiederkehrende Besprechung" - structured_meeting: "Besprechung (dynamisch)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Tagesordnungspunkt" meeting_agenda: "Agenda" meeting_minutes: "Protokoll" @@ -95,7 +95,7 @@ de: label_meeting: "Besprechung" label_meeting_plural: "Besprechungen" label_meeting_new: "Neue Besprechung" - label_meeting_new_dynamic: "Neue dynamische Besprechung" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "Neue Terminserie" label_meeting_create: "Besprechung erstellen" label_meeting_copy: "Besprechung kopieren" @@ -140,10 +140,10 @@ de: label_past_meetings_short: "Vergangen" label_involvement: "Beteiligt" label_invitations: "Einladungen" - label_invited_user: "Invited user" + label_invited_user: "Eingeladen" label_past_invitations: "Vergangene Einladungen" label_attended: "Teilgenommen" - label_attended_user: "Attended user" + label_attended_user: "Teilgenommen" label_created_by_me: "Von mir erstellt" label_notify: "Zur Einsicht verschicken" label_icalendar: "iCalendar senden" @@ -184,10 +184,11 @@ de: label_mail_all_participants: "E-Mail an alle Teilnehmer senden" types: classic: "Klassisch" - classic_text: "Organisieren Sie Ihr Meeting in einer formatierbaren textbasierter Agenda und zugehöriges Protokoll." - structured: "Dynamisch" - recurring: "Wiederkehrend" - structured_text: "Organisieren Sie Ihr Meeting als strukturierte Liste von Einträgen und verknüpfen Sie diese optional mit einem Arbeitspaket." + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" + recurring: "Terminserie" + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Das Kopieren einer Besprechung kopiert derzeit nicht die zugehörigen Tagesordnungspunkte, sondern nur dessen Details" copied: "Kopiert von Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/el.yml b/modules/meeting/config/locales/crowdin/el.yml index ba267e7cc15e..2f282756b054 100644 --- a/modules/meeting/config/locales/crowdin/el.yml +++ b/modules/meeting/config/locales/crowdin/el.yml @@ -61,7 +61,7 @@ el: invalid_time_format: "δεν είναι έγκυρη ώρα. Απαιτούμενη μορφοποίηση: ΩΩ:ΛΛ" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Ατζέντα" meeting_minutes: "Πρακτικά" @@ -95,7 +95,7 @@ el: label_meeting: "Συνάντηση" label_meeting_plural: "Συναντήσεις" label_meeting_new: "Νέα Συνάντηση" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ el: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Αντιγράφηκε από τη Συνάντηση #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/eo.yml b/modules/meeting/config/locales/crowdin/eo.yml index 2cf3992151bc..df4be1349619 100644 --- a/modules/meeting/config/locales/crowdin/eo.yml +++ b/modules/meeting/config/locales/crowdin/eo.yml @@ -61,7 +61,7 @@ eo: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -95,7 +95,7 @@ eo: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ eo: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/es.yml b/modules/meeting/config/locales/crowdin/es.yml index 20cd63552e69..45f20d9298ad 100644 --- a/modules/meeting/config/locales/crowdin/es.yml +++ b/modules/meeting/config/locales/crowdin/es.yml @@ -61,7 +61,7 @@ es: invalid_time_format: "no es una hora válida. Formato requerido: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Reunión (dinámico)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Puntos de Agenda" meeting_agenda: "Agenda" meeting_minutes: "Minutas" @@ -95,7 +95,7 @@ es: label_meeting: "Reunión" label_meeting_plural: "Reuniones" label_meeting_new: "Nueva reunión" - label_meeting_new_dynamic: "Nueva reunión dinámica" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Crear reunión" label_meeting_copy: "Copiar reunión" @@ -184,10 +184,11 @@ es: label_mail_all_participants: "Enviar email a todos los participantes" types: classic: "Clásico" - classic_text: "Organice su reunión en un formato de agenda de texto y protocolos." - structured: "Dinámico" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organice su reunión como una lista de temas del orden del día, enlazándolos opcionalmente a un paquete de trabajo." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copiar una reunión no copiará actualmente los elementos asociados de la agenda de la reunión, solo los detalles" copied: "Copiado de la reunión %{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/et.yml b/modules/meeting/config/locales/crowdin/et.yml index 6293fc64047c..9b2af6cdd074 100644 --- a/modules/meeting/config/locales/crowdin/et.yml +++ b/modules/meeting/config/locales/crowdin/et.yml @@ -61,7 +61,7 @@ et: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Päevakava" meeting_minutes: "Minutit" @@ -95,7 +95,7 @@ et: label_meeting: "Koosolek" label_meeting_plural: "Koosolekud" label_meeting_new: "Uus koosolek" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ et: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/eu.yml b/modules/meeting/config/locales/crowdin/eu.yml index ef8fd55b66b3..d0913cf10cb3 100644 --- a/modules/meeting/config/locales/crowdin/eu.yml +++ b/modules/meeting/config/locales/crowdin/eu.yml @@ -61,7 +61,7 @@ eu: invalid_time_format: "ez da baliozko ordua. Eskatzen den formatua: OO:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Aktak" @@ -95,7 +95,7 @@ eu: label_meeting: "Hitzordua" label_meeting_plural: "Hitzorduak" label_meeting_new: "Hitzordu berria" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ eu: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "#%{id} Hitzordutik kopiatua" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/fa.yml b/modules/meeting/config/locales/crowdin/fa.yml index b8e831681e17..9b7cbb7b5967 100644 --- a/modules/meeting/config/locales/crowdin/fa.yml +++ b/modules/meeting/config/locales/crowdin/fa.yml @@ -61,7 +61,7 @@ fa: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "دستور کار" meeting_minutes: "دقیقه ها" @@ -95,7 +95,7 @@ fa: label_meeting: "جلسه" label_meeting_plural: "جلسات" label_meeting_new: "ایجاد جلسه" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ fa: label_mail_all_participants: "Send email to all participants" types: classic: "کلاسیک" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/fi.yml b/modules/meeting/config/locales/crowdin/fi.yml index fba171987faf..64ce4d80a0fa 100644 --- a/modules/meeting/config/locales/crowdin/fi.yml +++ b/modules/meeting/config/locales/crowdin/fi.yml @@ -61,7 +61,7 @@ fi: invalid_time_format: "ei ole kelvollinen aika. Vaadittava muoto: TT:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Esityslista" meeting_minutes: "Pöytäkirja" @@ -95,7 +95,7 @@ fi: label_meeting: "Kokous" label_meeting_plural: "Kokoukset" label_meeting_new: "Uusi kokous" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ fi: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Kopioitu kokouksesta #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/fil.yml b/modules/meeting/config/locales/crowdin/fil.yml index bed0bd3da2e4..82dfec15aede 100644 --- a/modules/meeting/config/locales/crowdin/fil.yml +++ b/modules/meeting/config/locales/crowdin/fil.yml @@ -61,7 +61,7 @@ fil: invalid_time_format: "ay hindi balidong oras. Ang hinihinging format ay: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -95,7 +95,7 @@ fil: label_meeting: "Pagpupulong" label_meeting_plural: "Mga Pagpupulong" label_meeting_new: "Bagong Pagpupulong" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ fil: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/fr.yml b/modules/meeting/config/locales/crowdin/fr.yml index 00162385de97..de0207ea4662 100644 --- a/modules/meeting/config/locales/crowdin/fr.yml +++ b/modules/meeting/config/locales/crowdin/fr.yml @@ -61,7 +61,7 @@ fr: invalid_time_format: "n’est pas une heure valide. Format requis : HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Réunion (dynamique)" + structured_meeting: "One-time meeting" meeting_agenda_item: "" meeting_agenda: "Ordre du jour" meeting_minutes: "Compte-rendu" @@ -95,7 +95,7 @@ fr: label_meeting: "Réunion" label_meeting_plural: "Réunions" label_meeting_new: "Nouvelle réunion" - label_meeting_new_dynamic: "Nouvelle réunion dynamique" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Créer une réunion" label_meeting_copy: "Copier la réunion" @@ -184,10 +184,11 @@ fr: label_mail_all_participants: "Envoyer un mail à tous les participants" types: classic: "Classique" - classic_text: "Organisez votre réunion sous la forme d'un ordre du jour et d'un protocole en texte formatable." - structured: "Dynamique" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organisez votre réunion sous la forme d'une liste de points à l'ordre du jour, en les reliant éventuellement à des lots de travaux." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Actuellement, la copie d'une réunion n'entraîne pas la copie des points de l'ordre du jour de la réunion, mais uniquement des détails." copied: "Copié depuis la réunion #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/he.yml b/modules/meeting/config/locales/crowdin/he.yml index 10dc1da33f6c..8fb2cec56f8f 100644 --- a/modules/meeting/config/locales/crowdin/he.yml +++ b/modules/meeting/config/locales/crowdin/he.yml @@ -63,7 +63,7 @@ he: invalid_time_format: "תבנית הזמן אינה תקינה. התבנית הנדרשת היא: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "סדר היום" meeting_minutes: "דקות" @@ -97,7 +97,7 @@ he: label_meeting: "פגישה" label_meeting_plural: "פגישות" label_meeting_new: "פגישה חדשה" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -186,10 +186,11 @@ he: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/hi.yml b/modules/meeting/config/locales/crowdin/hi.yml index 202876e7deb8..e08421129302 100644 --- a/modules/meeting/config/locales/crowdin/hi.yml +++ b/modules/meeting/config/locales/crowdin/hi.yml @@ -61,7 +61,7 @@ hi: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -95,7 +95,7 @@ hi: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ hi: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/hr.yml b/modules/meeting/config/locales/crowdin/hr.yml index e16fd694ebad..b34d29af1ec8 100644 --- a/modules/meeting/config/locales/crowdin/hr.yml +++ b/modules/meeting/config/locales/crowdin/hr.yml @@ -62,7 +62,7 @@ hr: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Dnevni red" meeting_minutes: "Minute" @@ -96,7 +96,7 @@ hr: label_meeting: "Sastanak" label_meeting_plural: "Sastanci" label_meeting_new: "Novi sastanak" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -185,10 +185,11 @@ hr: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/hu.yml b/modules/meeting/config/locales/crowdin/hu.yml index 84163801f648..e52f8a9360f7 100644 --- a/modules/meeting/config/locales/crowdin/hu.yml +++ b/modules/meeting/config/locales/crowdin/hu.yml @@ -61,7 +61,7 @@ hu: invalid_time_format: "nem egy érvényes időpont. Előírt formátum: óó:pp" models: recurring_meeting: "Ismétlődő megbeszélés" - structured_meeting: "Megbeszélés (dinamikus)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Napirendi pont" meeting_agenda: "Napirend" meeting_minutes: "Jegyzőkönyv" @@ -95,7 +95,7 @@ hu: label_meeting: "Megbeszélés" label_meeting_plural: "Megbeszélések" label_meeting_new: "Új megbeszélés" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ hu: label_mail_all_participants: "Email küldése minden résztvevőnek" types: classic: "Szokásos" - classic_text: "Szervezd meg a találkozódat formázott szöveges napirendben és protokollban." - structured: "Dinamikus" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Szervezd meg a találkozódat napirendi pontokkal, melyeket opcionálisan munkacsomagokhoz rendelhetsz." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "A megbeszélés másolásával jelnleg nem fogja átmásolni a hozzákapcsolt napirendi pontokat, csak a megbeszélés részleteit." copied: "#%{id} megbeszélésből másolva" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/id.yml b/modules/meeting/config/locales/crowdin/id.yml index d091031542fc..150e5940ea89 100644 --- a/modules/meeting/config/locales/crowdin/id.yml +++ b/modules/meeting/config/locales/crowdin/id.yml @@ -60,7 +60,7 @@ id: invalid_time_format: "bukanlah waktu yang valid. Format seharusnya; JJ:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Rapat (dinamis)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Item agenda" meeting_agenda: "Agenda" meeting_minutes: "Laporan" @@ -94,7 +94,7 @@ id: label_meeting: "Rapat" label_meeting_plural: "Rapat" label_meeting_new: "Rapat Baru" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -183,10 +183,11 @@ id: label_mail_all_participants: "Kirim email ke semua peserta" types: classic: "Klasik" - classic_text: "Atur rapat Anda dalam agenda dan protokol teks yang dapat diformat." - structured: "Dinamis" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Disalin dari Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/it.yml b/modules/meeting/config/locales/crowdin/it.yml index 6e2340324229..2b76d5a4aa02 100644 --- a/modules/meeting/config/locales/crowdin/it.yml +++ b/modules/meeting/config/locales/crowdin/it.yml @@ -61,7 +61,7 @@ it: invalid_time_format: "non è un tempo valido. Formato richiesto: HH: mm" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Riunione (dinamica)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Attività" meeting_agenda: "Ordine del giorno" meeting_minutes: "Verbali" @@ -95,7 +95,7 @@ it: label_meeting: "Riunione" label_meeting_plural: "Riunioni" label_meeting_new: "Nuova riunione" - label_meeting_new_dynamic: "Nuova riunione dinamica" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Crea riunione" label_meeting_copy: "Copia riunione" @@ -184,10 +184,11 @@ it: label_mail_all_participants: "Invia e-mail a tutti i partecipanti" types: classic: "Classica" - classic_text: "Organizza la tua riunione in un'agenda e un protocollo di testo formattabile." - structured: "Dinamica" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organizza la tua riunione come un elenco di punti all'ordine del giorno, collegandoli facoltativamente a un pacchetto di lavoro." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "La copia di una riunione al momento non copierà gli elementi dell'ordine del giorno della riunione, ma solo i dettagli" copied: "Copiato dalla riunione #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/ja.yml b/modules/meeting/config/locales/crowdin/ja.yml index 2c1db8c0f5ee..db70e88621cf 100644 --- a/modules/meeting/config/locales/crowdin/ja.yml +++ b/modules/meeting/config/locales/crowdin/ja.yml @@ -60,7 +60,7 @@ ja: invalid_time_format: "有効な時間ではありません。必要なフォーマット: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "会議(ダイナミック)" + structured_meeting: "One-time meeting" meeting_agenda_item: "議題項目" meeting_agenda: "アジェンダ" meeting_minutes: "議事録" @@ -94,7 +94,7 @@ ja: label_meeting: "会議" label_meeting_plural: "会議" label_meeting_new: "新しい会議" - label_meeting_new_dynamic: "新しいダイナミック会議" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "会議を作成" label_meeting_copy: "会議をコピー" @@ -183,10 +183,11 @@ ja: label_mail_all_participants: "すべての参加者にメールを送信" types: classic: "クラシック" - classic_text: "会議をテキスト形式で議題と議事録として整理します。" - structured: "ダイナミック" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "会議を議題項目のリストとして整理し、オプションでそれらをワークパッケージにリンクさせることができます。" + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "会議をコピーする場合、現在は関連する議題項目はコピーされず、詳細のみがコピーされます。" copied: "ミーティング#%{id} からコピーしました" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/ka.yml b/modules/meeting/config/locales/crowdin/ka.yml index a5a1a389ffc8..bdd3dd8c8624 100644 --- a/modules/meeting/config/locales/crowdin/ka.yml +++ b/modules/meeting/config/locales/crowdin/ka.yml @@ -61,7 +61,7 @@ ka: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "განრიგის პუნქტი" meeting_agenda: "დღის განრიგი" meeting_minutes: "წუთი" @@ -95,7 +95,7 @@ ka: label_meeting: "შეხვედრა" label_meeting_plural: "შეხვედრები" label_meeting_new: "ახალი შეხვედრა" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ ka: label_mail_all_participants: "Send email to all participants" types: classic: "კლასიკური" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "დინამიკური" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/kk.yml b/modules/meeting/config/locales/crowdin/kk.yml index 53af2f25b2de..820ab7290841 100644 --- a/modules/meeting/config/locales/crowdin/kk.yml +++ b/modules/meeting/config/locales/crowdin/kk.yml @@ -61,7 +61,7 @@ kk: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -95,7 +95,7 @@ kk: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ kk: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/ko.yml b/modules/meeting/config/locales/crowdin/ko.yml index 9d9700554b09..19813af03d2f 100644 --- a/modules/meeting/config/locales/crowdin/ko.yml +++ b/modules/meeting/config/locales/crowdin/ko.yml @@ -60,7 +60,7 @@ ko: invalid_time_format: "은(는) 유효한 시간이 아닙니다. 필요한 형식: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "미팅(다이내믹)" + structured_meeting: "One-time meeting" meeting_agenda_item: "의제 항목" meeting_agenda: "의제" meeting_minutes: "의사록" @@ -94,7 +94,7 @@ ko: label_meeting: "미팅" label_meeting_plural: "미팅" label_meeting_new: "새 미팅" - label_meeting_new_dynamic: "새로운 다이내믹 미팅" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "미팅 생성" label_meeting_copy: "미팅 복사" @@ -183,10 +183,11 @@ ko: label_mail_all_participants: "모든 참가자에게 이메일 보내기" types: classic: "클래식" - classic_text: "서식 지정 가능한 텍스트 의제 및 프로토콜로 미팅을 구성하세요." - structured: "다이내믹" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "미팅을 의제 항목 목록으로 구성하고, 선택적으로 작업 패키지에 연결합니다." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "미팅을 복사하면 관련 미팅 의제 항목은 현재 복사되지 않고 세부 정보만 복사됩니다" copied: "미팅 #%{id}에서 복사됨" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/lt.yml b/modules/meeting/config/locales/crowdin/lt.yml index 6b314fe0a26e..b7e47eeb8997 100644 --- a/modules/meeting/config/locales/crowdin/lt.yml +++ b/modules/meeting/config/locales/crowdin/lt.yml @@ -63,7 +63,7 @@ lt: invalid_time_format: "netinkamas laikas. Reikalingas formatas: HH:MM (pvz.: 10:30)" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Susitikimas (dinaminis)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Darbotvarkės punktas" meeting_agenda: "Dienotvarkė" meeting_minutes: "Minutės" @@ -97,7 +97,7 @@ lt: label_meeting: "Pasitarimas" label_meeting_plural: "Pasitarimai" label_meeting_new: "Naujas pasitarimas" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -186,10 +186,11 @@ lt: label_mail_all_participants: "Siųsti e-laišką visiems dalyviams" types: classic: "Klasikinis" - classic_text: "Organizuokite jūsų susitikimą su formatuojamo teksto darbotvarke ir protokolu." - structured: "Dinaminis" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organizuokite jūsų susitikimą su darbotvarkės elementų sąrašu, pasirinktinai susiejant juos su darbo paketu." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Šiuo metu nukopijavus susitikimą, susiję susitikimo elmentai nebus kopijuojami, tik detalės." copied: "Nukopijuota iš susitikimo #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/lv.yml b/modules/meeting/config/locales/crowdin/lv.yml index a7aa6fd36a91..ce69da028054 100644 --- a/modules/meeting/config/locales/crowdin/lv.yml +++ b/modules/meeting/config/locales/crowdin/lv.yml @@ -62,7 +62,7 @@ lv: invalid_time_format: "nav derīgs laiks. Vajadzīgais formāts: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Sanāksme (dinamiska)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Darba kārtības punkts" meeting_agenda: "Darba kārtība" meeting_minutes: "Protokols" @@ -96,7 +96,7 @@ lv: label_meeting: "Sanāksmes" label_meeting_plural: "Sanāksmes" label_meeting_new: "Jauna sanāksme" - label_meeting_new_dynamic: "Jauna dinamiska sanāksme" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Izveidot sanāksmi" label_meeting_copy: "Kopēt sanāksmi" @@ -185,10 +185,11 @@ lv: label_mail_all_participants: "Send email to all participants" types: classic: "Klasisks" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/mn.yml b/modules/meeting/config/locales/crowdin/mn.yml index c2057aaebad5..d1e8ade34c11 100644 --- a/modules/meeting/config/locales/crowdin/mn.yml +++ b/modules/meeting/config/locales/crowdin/mn.yml @@ -61,7 +61,7 @@ mn: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -95,7 +95,7 @@ mn: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ mn: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/ms.yml b/modules/meeting/config/locales/crowdin/ms.yml index 58012fc0b994..892aacc4d6f3 100644 --- a/modules/meeting/config/locales/crowdin/ms.yml +++ b/modules/meeting/config/locales/crowdin/ms.yml @@ -60,7 +60,7 @@ ms: invalid_time_format: "bukan masa yang sah. Format yang diperlukan: JJ:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Mesyuarat (dinamik)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Item agenda" meeting_agenda: "Agenda" meeting_minutes: "Minit mesyuarat" @@ -94,7 +94,7 @@ ms: label_meeting: "Mesyuarat" label_meeting_plural: "Mesyuarat-mesyuarat" label_meeting_new: "Mesyuarat Baharu" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -183,10 +183,11 @@ ms: label_mail_all_participants: "Hantar e-mel kepada semua peserta" types: classic: "Klasik" - classic_text: "Aturkan mesyuarat anda dalam agenda teks yang boleh diformat dan diprotokol." - structured: "Dinamik" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Aturkan mesyuarat anda sebagai senarai butiran agenda, pautkannya ke pakej kerja secara pilihan." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Menyalin mesyuarat pada masa ini tidak akan menyalin item agenda mesyuarat yang berkaitan, hanya butiran sahaja" copied: "Disalin daripada Mesyuarat #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/ne.yml b/modules/meeting/config/locales/crowdin/ne.yml index ba017b08d3d4..3c15a9d4e6a9 100644 --- a/modules/meeting/config/locales/crowdin/ne.yml +++ b/modules/meeting/config/locales/crowdin/ne.yml @@ -61,7 +61,7 @@ ne: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -95,7 +95,7 @@ ne: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ ne: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/nl.yml b/modules/meeting/config/locales/crowdin/nl.yml index f2696fca6deb..522ec086b3f5 100644 --- a/modules/meeting/config/locales/crowdin/nl.yml +++ b/modules/meeting/config/locales/crowdin/nl.yml @@ -61,7 +61,7 @@ nl: invalid_time_format: "is geen geldige tijd. Vereist formaat: UH:MM" models: recurring_meeting: "Terugkerende vergadering" - structured_meeting: "Vergadering (dynamisch)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agendapunt" meeting_agenda: "Agenda" meeting_minutes: "Minuten" @@ -95,7 +95,7 @@ nl: label_meeting: "Vergadering" label_meeting_plural: "Vergaderingen" label_meeting_new: "Nieuwe vergadering" - label_meeting_new_dynamic: "Nieuwe dynamische vergadering" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "Nieuwe terugkerende vergadering" label_meeting_create: "Creëer vergadering" label_meeting_copy: "Kopie vergadering" @@ -184,10 +184,11 @@ nl: label_mail_all_participants: "E-mail verzenden naar alle deelnemers" types: classic: "Klassiek" - classic_text: "Organiseer uw vergadering met een opmaakbare tekstagenda en protocol." - structured: "Dynamisch" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organiseren van uw vergadering als een lijst met agendapunten, eventueel koppelen aan een werkpakket." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Een vergadering kopiëren zal momenteel niet de bijbehorende agendapunten kopiëren, alleen de details" copied: "Gekopieerd van vergadering #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/no.yml b/modules/meeting/config/locales/crowdin/no.yml index b192336ba934..db3ca3b0cfac 100644 --- a/modules/meeting/config/locales/crowdin/no.yml +++ b/modules/meeting/config/locales/crowdin/no.yml @@ -61,7 +61,7 @@ invalid_time_format: "er ikke et gyldig tidpunkt. Formatet må være HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Møte (dynamisk)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Dagsorden element" meeting_agenda: "Saksliste" meeting_minutes: "Referat" @@ -95,7 +95,7 @@ label_meeting: "Møte" label_meeting_plural: "Møter" label_meeting_new: "Nytt møte" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ label_mail_all_participants: "Send e-post til alle deltagere" types: classic: "Klassisk" - classic_text: "Organiser møtet ditt i en formattabel tekst agenda og protokoll." - structured: "Dynamisk" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organiser møtet som en liste over saker, eventuelt knytte dem til en arbeidspakke." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Kopiering av et møte vil for tiden ikke kopiere de tilknyttede elementene på dagsordenen, bare detaljene" copied: "Kopiert fra møte #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/pl.yml b/modules/meeting/config/locales/crowdin/pl.yml index 0b77cf6a4da1..cb86fa88153f 100644 --- a/modules/meeting/config/locales/crowdin/pl.yml +++ b/modules/meeting/config/locales/crowdin/pl.yml @@ -63,7 +63,7 @@ pl: invalid_time_format: "nie jest prawidłowy. Wymagany format to: GG:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Spotkanie (dynamiczne)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Punkt programu" meeting_agenda: "Plan spotkania" meeting_minutes: "Protokół ze spotkania" @@ -97,7 +97,7 @@ pl: label_meeting: "Spotkanie" label_meeting_plural: "Spotkania" label_meeting_new: "Nowe spotkanie" - label_meeting_new_dynamic: "Nowe spotkanie dynamiczne" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Utwórz spotkanie" label_meeting_copy: "Skopiuj spotkanie" @@ -186,10 +186,11 @@ pl: label_mail_all_participants: "Wyślij wiadomość e-mail do wszystkich uczestników" types: classic: "Klasyczny" - classic_text: "Zorganizuj spotkanie w formatowanym tekstowym planie spotkania i protokole." - structured: "Dynamiczne" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Zorganizuj spotkanie jako listę punktów planu spotkania, opcjonalnie powiązując je z pakietem roboczym." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Skopiowanie spotkania nie powoduje obecnie skopiowania powiązanych pozycji planu spotkania, a jedynie szczegółów" copied: "Skopiowano ze spotkania #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/pt-BR.yml b/modules/meeting/config/locales/crowdin/pt-BR.yml index 132043962087..7b7ef2264774 100644 --- a/modules/meeting/config/locales/crowdin/pt-BR.yml +++ b/modules/meeting/config/locales/crowdin/pt-BR.yml @@ -61,7 +61,7 @@ pt-BR: invalid_time_format: "não é um horário válido. Formato exigido: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Reunião (dinâmica)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Item da agenda" meeting_agenda: "Agenda" meeting_minutes: "Atas" @@ -95,7 +95,7 @@ pt-BR: label_meeting: "Reunião" label_meeting_plural: "Reuniões" label_meeting_new: "Nova Reunião" - label_meeting_new_dynamic: "Nova reunião dinâmica" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Criar reunião" label_meeting_copy: "Copiar reunião" @@ -184,10 +184,11 @@ pt-BR: label_mail_all_participants: "Enviar e-mail para todos os participantes" types: classic: "Clássico" - classic_text: "Organize sua reunião em uma agenda e protocolo de texto formatáveis." - structured: "Dinâmico" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize sua reunião como uma lista de itens da agenda, opcionalmente vinculando-os a um pacote de trabalho." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copiar uma reunião atualmente não copiará os itens associados da agenda da reunião, apenas os detalhes" copied: "Copiado para a Reunião #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/pt-PT.yml b/modules/meeting/config/locales/crowdin/pt-PT.yml index 78898879f083..5fb7c85dcea3 100644 --- a/modules/meeting/config/locales/crowdin/pt-PT.yml +++ b/modules/meeting/config/locales/crowdin/pt-PT.yml @@ -61,7 +61,7 @@ pt-PT: invalid_time_format: "não é uma hora válida. Formato exigido: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Reunião (dinâmica)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Pontos da ordem de trabalhos" meeting_agenda: "Agenda" meeting_minutes: "Minutos" @@ -95,7 +95,7 @@ pt-PT: label_meeting: "Reunião" label_meeting_plural: "Reuniões" label_meeting_new: "Nova reunião" - label_meeting_new_dynamic: "Nova reunião dinâmica" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Criar reunião" label_meeting_copy: "Copiar reunião" @@ -184,10 +184,11 @@ pt-PT: label_mail_all_participants: "Enviar e-mail a todos os participantes" types: classic: "Clássico" - classic_text: "Organize a sua reunião numa agenda e protocolo de texto formatáveis." - structured: "Dinâmico" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize a sua reunião como uma lista de itens da agenda, associando-os opcionalmente a um pacote de trabalho." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Atualmente, a cópia de uma reunião não copia os itens associados da agenda da reunião, apenas os detalhes" copied: "Copiado da reunião #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/ro.yml b/modules/meeting/config/locales/crowdin/ro.yml index 459a0bbe6265..c0104d89dc89 100644 --- a/modules/meeting/config/locales/crowdin/ro.yml +++ b/modules/meeting/config/locales/crowdin/ro.yml @@ -62,7 +62,7 @@ ro: invalid_time_format: "nu este o oră valabilă. Format necesar: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agendă" meeting_minutes: "Minute" @@ -96,7 +96,7 @@ ro: label_meeting: "ID Întâlnire" label_meeting_plural: "Întâlniri" label_meeting_new: "Noua întâlnire" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -185,10 +185,11 @@ ro: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copiat de la Întâlnire #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/ru.yml b/modules/meeting/config/locales/crowdin/ru.yml index 3fa8ccd42012..444755c4d1ef 100644 --- a/modules/meeting/config/locales/crowdin/ru.yml +++ b/modules/meeting/config/locales/crowdin/ru.yml @@ -63,7 +63,7 @@ ru: invalid_time_format: "недопустимое время. Требуемый формат: ЧЧ:ММ" models: recurring_meeting: "Повторяющееся совещание" - structured_meeting: "Встреча (динамическая)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Пункт повестки" meeting_agenda: "Повестка дня" meeting_minutes: "Протокол(-ы)" @@ -97,7 +97,7 @@ ru: label_meeting: "Совещание" label_meeting_plural: "Совещания" label_meeting_new: "Новое совещание" - label_meeting_new_dynamic: "Новое активное совещание" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "Новое повторяющееся совещание" label_meeting_create: "Создать совещание" label_meeting_copy: "Копировать совещание" @@ -186,10 +186,11 @@ ru: label_mail_all_participants: "Отправить письмо всем участникам" types: classic: "Классический" - classic_text: "Организуйте своё совещание с помощью форматируемой текстовой повестки и протокола." - structured: "Динамический" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Периодичность" - structured_text: "Организуйте своё совещание в виде списка пунктов повестки, при необходимости связав их с пакетом работ." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "При копировании совещания в настоящее время не скопируются связанные с ним пункты повестки, будут скопированы только детали" copied: "Скопировано со встречи #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/rw.yml b/modules/meeting/config/locales/crowdin/rw.yml index 30a50c0bc5af..7e6d11605bb8 100644 --- a/modules/meeting/config/locales/crowdin/rw.yml +++ b/modules/meeting/config/locales/crowdin/rw.yml @@ -61,7 +61,7 @@ rw: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -95,7 +95,7 @@ rw: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ rw: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/si.yml b/modules/meeting/config/locales/crowdin/si.yml index 2062140f8696..de018eb40aee 100644 --- a/modules/meeting/config/locales/crowdin/si.yml +++ b/modules/meeting/config/locales/crowdin/si.yml @@ -61,7 +61,7 @@ si: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -95,7 +95,7 @@ si: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ si: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/sk.yml b/modules/meeting/config/locales/crowdin/sk.yml index c8e300517347..4428e2a7c96d 100644 --- a/modules/meeting/config/locales/crowdin/sk.yml +++ b/modules/meeting/config/locales/crowdin/sk.yml @@ -63,7 +63,7 @@ sk: invalid_time_format: "nie je platný čas. Požadovaný formát: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Zápisnica" @@ -97,7 +97,7 @@ sk: label_meeting: "Stretnutie" label_meeting_plural: "Stretnutia" label_meeting_new: "Nové stretnutie" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -186,10 +186,11 @@ sk: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/sl.yml b/modules/meeting/config/locales/crowdin/sl.yml index 26e3b4a7e93b..1c5cefe83f9a 100644 --- a/modules/meeting/config/locales/crowdin/sl.yml +++ b/modules/meeting/config/locales/crowdin/sl.yml @@ -63,7 +63,7 @@ sl: invalid_time_format: "ni veljaven čas. Potreben format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Dnevni red" meeting_minutes: "Zapisnik" @@ -97,7 +97,7 @@ sl: label_meeting: "Sestanek" label_meeting_plural: "Sestanki" label_meeting_new: "Nov sestanek" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -186,10 +186,11 @@ sl: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Kopirano iz sestanka #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/sr.yml b/modules/meeting/config/locales/crowdin/sr.yml index eed9a69de07c..36d1a84f0487 100644 --- a/modules/meeting/config/locales/crowdin/sr.yml +++ b/modules/meeting/config/locales/crowdin/sr.yml @@ -62,7 +62,7 @@ sr: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -96,7 +96,7 @@ sr: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -185,10 +185,11 @@ sr: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/sv.yml b/modules/meeting/config/locales/crowdin/sv.yml index 466634282c6c..e8fb818d0bbd 100644 --- a/modules/meeting/config/locales/crowdin/sv.yml +++ b/modules/meeting/config/locales/crowdin/sv.yml @@ -61,7 +61,7 @@ sv: invalid_time_format: "är inte en giltig tid. Använd formatet HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Protokoll" @@ -95,7 +95,7 @@ sv: label_meeting: "Möte" label_meeting_plural: "Möten" label_meeting_new: "Nytt möte" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ sv: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Kopierat från möte #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/th.yml b/modules/meeting/config/locales/crowdin/th.yml index 2dc826697f13..fc40b9e3b159 100644 --- a/modules/meeting/config/locales/crowdin/th.yml +++ b/modules/meeting/config/locales/crowdin/th.yml @@ -60,7 +60,7 @@ th: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -94,7 +94,7 @@ th: label_meeting: "ประชุม" label_meeting_plural: "ประชุม" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -183,10 +183,11 @@ th: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/tr.yml b/modules/meeting/config/locales/crowdin/tr.yml index bf3213708492..90a706d28d97 100644 --- a/modules/meeting/config/locales/crowdin/tr.yml +++ b/modules/meeting/config/locales/crowdin/tr.yml @@ -61,7 +61,7 @@ tr: invalid_time_format: "geçerli bir zaman değil. Gerekli format: SS:DD" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Toplantı (dinamik)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Ajanda öğesi" meeting_agenda: "Ajanda" meeting_minutes: "Dakika" @@ -95,7 +95,7 @@ tr: label_meeting: "Toplantı" label_meeting_plural: "Toplantılar" label_meeting_new: "Yeni Toplantı" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Toplantı oluştur" label_meeting_copy: "Toplantıyı kopyala" @@ -184,10 +184,11 @@ tr: label_mail_all_participants: "Tüm katılımcılara e-posta gönderin" types: classic: "Klasik" - classic_text: "Toplantınızı biçimlendirilebilir bir metin gündemi ve protokolüyle düzenleyin." - structured: "Dinamik" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Toplantınızı, isteğe bağlı olarak bunları bir çalışma paketine bağlayarak, gündem maddelerinin bir listesi halinde düzenleyin." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Toplantıyı kopyalamak toplantıyla ilgili ajanda maddelerini kopyalamayacaktır, sadece detaylar kopyalanacak" copied: "#%{id} numaralı toplantıdan kopyalandı" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/uk.yml b/modules/meeting/config/locales/crowdin/uk.yml index 8b4aeb0d947e..d57f6ecef75e 100644 --- a/modules/meeting/config/locales/crowdin/uk.yml +++ b/modules/meeting/config/locales/crowdin/uk.yml @@ -63,7 +63,7 @@ uk: invalid_time_format: "не є допустимим часом. Необхідний формат: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Нарада (динамічна)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Порядок денний" meeting_agenda: "Порядок денний" meeting_minutes: "Хвилини" @@ -97,7 +97,7 @@ uk: label_meeting: "Зустріч" label_meeting_plural: "Зустрічі" label_meeting_new: "Нова зустріч" - label_meeting_new_dynamic: "Нова динамічна нарада" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Створити нараду" label_meeting_copy: "Копіювати нараду" @@ -186,10 +186,11 @@ uk: label_mail_all_participants: "Надіслати лист усім учасникам" types: classic: "Класична" - classic_text: "Організуйте нараду у вигляді порядку денного й протоколу в текстовому форматі з підтримкою редагування." - structured: "Динамічна" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Організуйте нараду у вигляді переліку пунктів порядку денного, за бажанням пов’язавши їх із пакетом робіт." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Зараз копіювання наради стосується лише докладних даних про неї, але не пов’язаних пунктів її порядку денного" copied: "Скопійовано з наради #%{id} " meeting_section: diff --git a/modules/meeting/config/locales/crowdin/uz.yml b/modules/meeting/config/locales/crowdin/uz.yml index b4f39d3411eb..9fe6fcd5d451 100644 --- a/modules/meeting/config/locales/crowdin/uz.yml +++ b/modules/meeting/config/locales/crowdin/uz.yml @@ -61,7 +61,7 @@ uz: invalid_time_format: "is not a valid time. Required format: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Meeting (dynamic)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Agenda item" meeting_agenda: "Agenda" meeting_minutes: "Minutes" @@ -95,7 +95,7 @@ uz: label_meeting: "Meeting" label_meeting_plural: "Meetings" label_meeting_new: "New Meeting" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Create meeting" label_meeting_copy: "Copy meeting" @@ -184,10 +184,11 @@ uz: label_mail_all_participants: "Send email to all participants" types: classic: "Classic" - classic_text: "Organize your meeting in a formattable text agenda and protocol." - structured: "Dynamic" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Organize your meeting as a list of agenda items, optionally linking them to a work package." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Copying a meeting will currently not copy the associated meeting agenda items, just the details" copied: "Copied from Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/vi.yml b/modules/meeting/config/locales/crowdin/vi.yml index cb596d9ee0d4..4eb92a420bb7 100644 --- a/modules/meeting/config/locales/crowdin/vi.yml +++ b/modules/meeting/config/locales/crowdin/vi.yml @@ -60,7 +60,7 @@ vi: invalid_time_format: "không phải giờ hợp lệ. Yêu cầu định dạng: HH:MM" models: recurring_meeting: "Recurring meeting" - structured_meeting: "Cuộc họp (dạng động)" + structured_meeting: "One-time meeting" meeting_agenda_item: "Mục chương trình nghị sự" meeting_agenda: "Các ý chính" meeting_minutes: "Phút" @@ -94,7 +94,7 @@ vi: label_meeting: "Cuộc họp" label_meeting_plural: "Những cuộc họp" label_meeting_new: "Cuộc họp mới" - label_meeting_new_dynamic: "New dynamic meeting" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "New recurring meeting" label_meeting_create: "Tạo cuộc họp" label_meeting_copy: "Copy meeting" @@ -183,10 +183,11 @@ vi: label_mail_all_participants: "Gửi email đến tất cả người tham gia" types: classic: "Cổ điển" - classic_text: "Tổ chức cuộc họp của bạn bằng một chương trình nghị sự và biên bản định dạng văn bản." - structured: "Dạng động" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" recurring: "Recurring" - structured_text: "Tổ chức cuộc họp của bạn dưới dạng danh sách các mục chương trình nghị sự, có thể liên kết chúng với một gói công việc." + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "Sao chép một cuộc họp hiện tại sẽ không sao chép các mục chương trình nghị sự liên quan, chỉ sao chép các chi tiết" copied: "Sao chép từ Cuộc họp #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/zh-CN.yml b/modules/meeting/config/locales/crowdin/zh-CN.yml index cd8c1b2bfc36..9ce3e078511a 100644 --- a/modules/meeting/config/locales/crowdin/zh-CN.yml +++ b/modules/meeting/config/locales/crowdin/zh-CN.yml @@ -53,14 +53,14 @@ zh-CN: frequency: "频率" interval: "周期" start_date: "开始日期:" - end_after: "End series after" + end_after: "结束定期会议于" iterations: "事件" errors: messages: invalid_time_format: "不是有效时间。所需格式:HH:MM" models: recurring_meeting: "定期会议" - structured_meeting: "会议(动态)" + structured_meeting: "One-time meeting" meeting_agenda_item: "议程项目" meeting_agenda: "议程" meeting_minutes: "会议记录" @@ -94,7 +94,7 @@ zh-CN: label_meeting: "会议" label_meeting_plural: "会议" label_meeting_new: "新增会议" - label_meeting_new_dynamic: "新动态会议" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "新的定期会议" label_meeting_create: "创建会议" label_meeting_copy: "复制会议" @@ -139,10 +139,10 @@ zh-CN: label_past_meetings_short: "过往" label_involvement: "参与" label_invitations: "邀请函" - label_invited_user: "Invited user" + label_invited_user: "受邀用户" label_past_invitations: "过去的邀请" label_attended: "已出席" - label_attended_user: "Attended user" + label_attended_user: "出席用户" label_created_by_me: "我创建的" label_notify: "发送待审阅" label_icalendar: "发送 iCalendar" @@ -183,10 +183,11 @@ zh-CN: label_mail_all_participants: "发送电子邮件给所有参与者" types: classic: "经典" - classic_text: "将您的会议以可格式化的文本议程和会议纪要的形式进行组织。" - structured: "动态" - recurring: "定期的" - structured_text: "将您的会议组织为议程项目列表,并可选地将其与工作包链接。" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" + recurring: "定期" + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "目前复制会议不会复制相关会议的议程项目,只会复制会议的详细信息。" copied: "从会议 #%{id} 复制" meeting_section: @@ -218,15 +219,15 @@ zh-CN: working_days: "每个工作日" weekly: "每周" end_after: - specific_date: "a specific date" - iterations: "a number of occurrences" + specific_date: "具体日期" + iterations: "具体事件" starts: "开始" in_words: - daily_interval: "Every %{interval} days" + daily_interval: "每 %{interval} 天" working_days: "每个工作日" - weekly: "Every week on %{weekday}" - weekly_interval: "Every %{interval} weeks on %{weekday}" - frequency: "%{base} at %{time}" + weekly: "每 %{weekday}" + weekly_interval: "每 %{interval} 周在 %{weekday}" + frequency: "%{base} 在 %{time}" full: "%{base} 在 %{time},在 %{end_date} 结束" notice_successful_notification: "通知发送成功" notice_timezone_missing: 没有设定时区,预设时区为 %{zone}。要选择您的时区,请单击此处。 diff --git a/modules/meeting/config/locales/crowdin/zh-TW.yml b/modules/meeting/config/locales/crowdin/zh-TW.yml index 064659f37eea..f26f5c267196 100644 --- a/modules/meeting/config/locales/crowdin/zh-TW.yml +++ b/modules/meeting/config/locales/crowdin/zh-TW.yml @@ -60,7 +60,7 @@ zh-TW: invalid_time_format: "不是有效時間。所需格式: HH:MM" models: recurring_meeting: "重複性會議" - structured_meeting: "會議(動態)" + structured_meeting: "One-time meeting" meeting_agenda_item: "議程項目" meeting_agenda: "會議大綱" meeting_minutes: "會議記錄" @@ -94,7 +94,7 @@ zh-TW: label_meeting: "會議" label_meeting_plural: "會議" label_meeting_new: "新增會議" - label_meeting_new_dynamic: "新的動態會議" + label_meeting_new_dynamic: "New one-time meeting" label_meeting_new_recurring: "新的重複性會議" label_meeting_create: "新增會議" label_meeting_copy: "複製會議" @@ -116,39 +116,39 @@ zh-TW: label_template: "模板" label_recurring_meeting_view: "檢視會議系列" label_recurring_meeting_create: "從模板建立" - label_recurring_meeting_copy: "Copy as one-off" - label_recurring_meeting_cancel: "Cancel this occurrence" - label_recurring_meeting_delete: "Delete occurrence" + label_recurring_meeting_copy: "複製為一次性" + label_recurring_meeting_cancel: "取消此事件" + label_recurring_meeting_delete: "刪除此事件" label_recurring_meeting_delete_confirmation: > This meeting is part of a series called %{name}. This will only delete this particular occurrence and not the entire series. Do you want to continue? label_recurring_occurrence_delete_confirmation: > Any meeting information not in the template will be lost. Do you want to continue? - label_recurring_meeting_restore: "Restore this occurrence" - label_recurring_meeting_more: "There are %{count} more scheduled meetings (%{schedule})." - label_recurring_meeting_more_singular: "There is %{count} more scheduled meeting (%{schedule})." - label_recurring_meeting_more_past: "There are %{count} more past meetings." - label_recurring_meeting_more_past_singular: "There is %{count} more past meeting." - label_recurring_meeting_show_more: "Show more" - label_recurring_meeting_series_edit: "Edit meeting series" - label_recurring_meeting_series_delete: "Delete meeting series" - label_my_meetings: "My meetings" - label_all_meetings: "All meetings" + label_recurring_meeting_restore: "恢復此事件" + label_recurring_meeting_more: "還有 %{count} 預定會議 (%{schedule})。" + label_recurring_meeting_more_singular: "還有 %{count} 預定會議 (%{schedule})。" + label_recurring_meeting_more_past: "還有 %{count} 更多過去的會議。" + label_recurring_meeting_more_past_singular: "還有 %{count} 更多過去的會議。" + label_recurring_meeting_show_more: "顯示更多" + label_recurring_meeting_series_edit: "編輯系列會議" + label_recurring_meeting_series_delete: "刪除系列會議" + label_my_meetings: "我的會議" + label_all_meetings: "所有會議" label_upcoming_meetings: "即將到來的會議" label_past_meetings: "過去的會議" label_upcoming_meetings_short: "即將開會" label_past_meetings_short: "過往會議" label_involvement: "參與\n" - label_invitations: "Invitations" - label_invited_user: "Invited user" + label_invitations: "邀请" + label_invited_user: "受邀用户" label_past_invitations: "先前的會議邀請" - label_attended: "Attended" - label_attended_user: "Attended user" - label_created_by_me: "Created by me" + label_attended: "出席" + label_attended_user: "出席使用者" + label_created_by_me: "由我建立" label_notify: "送出審閱" label_icalendar: "發送 iCalendar" label_icalendar_download: "下載 iCalendar " - label_view_meeting_series: "View meeting series" - label_meeting_series: "Meeting series" + label_view_meeting_series: "檢視會議" + label_meeting_series: "會議" label_version: "版本" label_time_zone: "時區" label_start_date: "開始日期" @@ -183,10 +183,11 @@ zh-TW: label_mail_all_participants: "發送電子郵件給所有參與者" types: classic: "經典" - classic_text: "以調整好的文字議程和程序來整理您的會議紀錄。" - structured: "動態" - recurring: "Recurring" - structured_text: "將您的會議整理成一個議程項目列表,並可選擇地將它們與一個工作項目連接起來。" + classic_text: "Organize your meeting as a single formattable text agenda and protocol." + structured: "One-time" + recurring: "重覆" + recurring_text: "Create meeting series with dynamic template for each occurrence." + structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." structured_text_copy: "目前複製會議不會複製相關會議的議程項目,只會複製會議的詳細信息。" copied: "從會議紀錄 #%{id} 中複製" meeting_section: @@ -200,33 +201,33 @@ zh-TW: error_no_next: "There is no next occurrence for this meeting." first_already_exists: "The first occurrence of this meeting series is already instantiated." first_created: > - The first meeting has been successfuly created from template. All future meetings will be created automatically at the time of the previous occurrence. + 第一次會議已從範本成功建立。以後所有的會議都會在前一次發生時自動建立。 template: - button_finalize: "Finish template" - blank_title: "Your meeting series template is empty" + button_finalize: "完成範本" + blank_title: "您的會議範本是空的" description: > - This template will be used whenever new meetings in the series get created. You can add agenda items, participants, and attachments to this template. + 每當在系列中建立新會議時,都會使用此範本。您可以在此範本中加入議程項目、與會者和附件。 blankslate_finalize: > - When you're done preparing this template, click the '%{button_title}' button above to finish the setup and schedule the first meeting of the series. - label_view_template: "View template" - label_edit_template: "Edit template" + 準備完此範本後,按一下上方的 '%{button_title}' 按鈕,即可完成設定並排定系列會議的第一次會議。 + label_view_template: "查看範本" + label_edit_template: "編輯範本" banner_html: > - You are currently editing a template of a meeting series: %{link}. Every new occurrence of a meeting in the series will use this template. Changes will not affect past or already created meetings. + 您目前正在編輯會議系列的範本: %{link}。系列會議中的每次新會議都會使用此範本。變更不會影響過去或已建立的會議。 frequency: - every_weekday: "Every %{day_of_the_week}" - daily: "Daily" - working_days: "Every working day" - weekly: "Weekly" + every_weekday: "每個 %{day_of_the_week}" + daily: "每日" + working_days: "每個工作天" + weekly: "每週" end_after: - specific_date: "a specific date" - iterations: "a number of occurrences" - starts: "Starts" + specific_date: "特定日期" + iterations: "出現數" + starts: "開始" in_words: - daily_interval: "Every %{interval} days" - working_days: "Every working day" - weekly: "Every week on %{weekday}" - weekly_interval: "Every %{interval} weeks on %{weekday}" - frequency: "%{base} at %{time}" + daily_interval: "每 %{interval} 天" + working_days: "每個工作天" + weekly: "每週 %{weekday}" + weekly_interval: "每 %{interval} 週 %{weekday}" + frequency: "%{base} 在 %{time}" full: "%{base} at %{time}, ends on %{end_date}" notice_successful_notification: "通知傳送成功" notice_timezone_missing: 沒有設定時區,預設時區為 %{zone} 。請按這裡選擇您的時區。 @@ -280,17 +281,17 @@ zh-TW: text_deleted_agenda_item: '已刪除的議程項目' label_initial_meeting_details: "會議" label_meeting_details: "會議詳情" - label_meeting_series_details: "Meeting series details" + label_meeting_series_details: "會議詳細資訊" label_meeting_details_edit: "編輯會議詳情" label_meeting_state: "會議狀態" label_meeting_state_open: "開啟" label_meeting_state_open_html: "開啟" label_meeting_state_closed: "關閉" label_meeting_state_closed_html: "關閉" - label_meeting_state_agenda_created: "Agenda created" - label_meeting_state_scheduled: "Scheduled" - label_meeting_state_cancelled: "Cancelled" - label_meeting_state_skipped: "Skipped" + label_meeting_state_agenda_created: "議程已建立" + label_meeting_state_scheduled: "已排程" + label_meeting_state_cancelled: "已取消" + label_meeting_state_skipped: "已略過" label_meeting_reopen_action: "重新開啟會議" label_meeting_close_action: "關閉會議" text_meeting_open_description: "本次會議已開放。您可以新增/移除議程項目並隨時編輯它們。會議結束後,關閉後鎖定起來。" diff --git a/modules/reporting/config/locales/crowdin/zh-CN.yml b/modules/reporting/config/locales/crowdin/zh-CN.yml index 1de0996091d0..818a44fb11a1 100644 --- a/modules/reporting/config/locales/crowdin/zh-CN.yml +++ b/modules/reporting/config/locales/crowdin/zh-CN.yml @@ -87,10 +87,10 @@ zh-CN: validation_failure_integer: "不是有效的整数" export: timesheet: - title: "您的 PDF 报告导出" - button: "导出 PDF 报告" - timesheet: "工时报表" - time: "Time" + title: "您的 PDF 时间表导出" + button: "导出 PDF 时间表" + timesheet: "时间表" + time: "时间" cost_reports: title: "您的成本报告 XLS 导出" reporting: diff --git a/modules/storages/config/locales/crowdin/zh-TW.yml b/modules/storages/config/locales/crowdin/zh-TW.yml index fcc1668ef843..ff609258c283 100644 --- a/modules/storages/config/locales/crowdin/zh-TW.yml +++ b/modules/storages/config/locales/crowdin/zh-TW.yml @@ -343,8 +343,8 @@ zh-TW: subtitle: 您正被重新導向 title: 整合設定完成 timeout: - link_text: health status of the file storage setup - subtitle: OpenProject could not provide you access to the project folder within the expected period of time. Please, try once again.

    If that problem persists please contact your OpenProject administrator to check the %{storages_health_link}. + link_text: 檔案儲存之健康狀態 + subtitle: OpenProject 無法讓您在預期時間內存取專案資料夾。請再試一次。

    如果問題仍然存在,請聯絡您的 OpenProject 管理員以檢查 %{storages_health_link}。 waiting: subtitle: 請稍候,這可能需要一些時間... title: 我們正在設定您在專案資料夾上的權限。 From 859d95d385b0a635303fca3efb3f3826fed63254 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Fri, 13 Dec 2024 03:26:51 +0000 Subject: [PATCH 117/121] update locales from crowdin [ci skip] --- config/locales/crowdin/zh-TW.yml | 2 +- modules/backlogs/config/locales/crowdin/mn.yml | 4 ++-- modules/gantt/config/locales/crowdin/js-mn.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index 34f7a45b7591..58e82050d8cd 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -647,7 +647,7 @@ zh-TW: follows_description: "在這個工作項目開始之前,相關的工作必須先完成" label_child_singular: "子項目" label_child_plural: "子項目" - child_description: "Makes the related work package a sub-item of the current (parent) work package" + child_description: "使相關工作成為目前(父)工作項目的子項目" label_blocks_singular: "區塊" label_blocks_plural: "區塊" blocks_description: "在本工作項目結束之前,關聯工作無法結束" diff --git a/modules/backlogs/config/locales/crowdin/mn.yml b/modules/backlogs/config/locales/crowdin/mn.yml index 2ac1af81dda1..574fc99ac67a 100644 --- a/modules/backlogs/config/locales/crowdin/mn.yml +++ b/modules/backlogs/config/locales/crowdin/mn.yml @@ -52,11 +52,11 @@ mn: date: "Day" definition_of_done: "Definition of Done" generating_chart: "Generating Graph..." - hours: "Hours" + hours: "Цаг" impediment: "Impediment" label_versions_default_fold_state: "Show versions folded" work_package_is_closed: "Work package is done, when" - label_is_done_status: "Status %{status_name} means done" + label_is_done_status: "Төлөв %{status_name} дууссан гэсэн үг" no_burndown_data: "No burndown data available. It is necessary to have the sprint start- and end dates set." points: "Оноо" positions_could_not_be_rebuilt: "Positions could not be rebuilt." diff --git a/modules/gantt/config/locales/crowdin/js-mn.yml b/modules/gantt/config/locales/crowdin/js-mn.yml index 06c711fbbf89..e126cc447b3f 100644 --- a/modules/gantt/config/locales/crowdin/js-mn.yml +++ b/modules/gantt/config/locales/crowdin/js-mn.yml @@ -2,4 +2,4 @@ mn: js: work_packages: default_queries: - milestones: 'Milestones' + milestones: 'Чухал үеүүд' From f7b0cbaf8c32e13a5310a334a9740df3c90dbef6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Dec 2024 05:17:49 +0000 Subject: [PATCH 118/121] build(deps): bump airbrake from 13.0.4 to 13.0.5 Bumps [airbrake](https://github.com/airbrake/airbrake) from 13.0.4 to 13.0.5. - [Changelog](https://github.com/airbrake/airbrake/blob/master/CHANGELOG.md) - [Commits](https://github.com/airbrake/airbrake/compare/v.13.0.4...v13.0.5) --- updated-dependencies: - dependency-name: airbrake dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c906ba4748b1..92830f96f95a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -330,7 +330,7 @@ GEM public_suffix (>= 2.0.2, < 7.0) aes_key_wrap (1.1.0) afm (0.2.2) - airbrake (13.0.4) + airbrake (13.0.5) airbrake-ruby (~> 6.0) airbrake-ruby (6.2.2) rbtree3 (~> 0.6) From 684646fb6185d2e39938e076e4dcf48fc4f5582e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Dec 2024 05:18:50 +0000 Subject: [PATCH 119/121] build(deps): bump aws-sdk-s3 from 1.176.0 to 1.176.1 Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.176.0 to 1.176.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-s3/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/commits) --- updated-dependencies: - dependency-name: aws-sdk-s3 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 c906ba4748b1..d2c23a409855 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -344,7 +344,7 @@ GEM awesome_nested_set (3.8.0) activerecord (>= 4.0.0, < 8.1) aws-eventstream (1.3.0) - aws-partitions (1.1017.0) + aws-partitions (1.1022.0) aws-sdk-core (3.214.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) @@ -353,7 +353,7 @@ GEM aws-sdk-kms (1.96.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.176.0) + aws-sdk-s3 (1.176.1) aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) From 706f42d995d6f04513c435d4aeac078ffd9ed917 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Dec 2024 05:19:21 +0000 Subject: [PATCH 120/121] build(deps-dev): bump rubocop from 1.69.1 to 1.69.2 Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.69.1 to 1.69.2. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.69.1...v1.69.2) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c906ba4748b1..f382d5c53c05 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1015,7 +1015,7 @@ GEM rspec-support (3.13.1) rspec-wait (1.0.1) rspec (>= 3.4) - rubocop (1.69.1) + rubocop (1.69.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) From c2fd334a85cc76e815ede387b7ddeed46cd2de37 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Fri, 13 Dec 2024 07:17:43 +0000 Subject: [PATCH 121/121] update locales from crowdin [ci skip] --- config/locales/crowdin/de.yml | 2 +- config/locales/crowdin/js-ru.yml | 10 ++-- config/locales/crowdin/js-zh-TW.yml | 2 +- config/locales/crowdin/mn.yml | 20 +++---- config/locales/crowdin/ru.seeders.yml | 4 +- config/locales/crowdin/ru.yml | 30 +++++------ config/locales/crowdin/zh-TW.yml | 4 +- modules/avatars/config/locales/crowdin/mn.yml | 22 ++++---- .../backlogs/config/locales/crowdin/mn.yml | 14 ++--- modules/bim/config/locales/crowdin/ru.yml | 2 +- .../boards/config/locales/crowdin/js-mn.yml | 52 +++++++++---------- modules/boards/config/locales/crowdin/mn.yml | 32 ++++++------ .../calendar/config/locales/crowdin/js-mn.yml | 8 +-- .../calendar/config/locales/crowdin/mn.yml | 14 ++--- .../config/locales/crowdin/js-mn.yml | 2 +- .../documents/config/locales/crowdin/mn.yml | 26 +++++----- .../job_status/config/locales/crowdin/mn.yml | 10 ++-- modules/meeting/config/locales/crowdin/de.yml | 12 ++--- modules/meeting/config/locales/crowdin/ru.yml | 16 +++--- .../meeting/config/locales/crowdin/zh-TW.yml | 28 +++++----- .../my_page/config/locales/crowdin/js-mn.yml | 2 +- .../storages/config/locales/crowdin/zh-TW.yml | 4 +- 22 files changed, 158 insertions(+), 158 deletions(-) diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index b47203cef798..d99f40b2dc5c 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -849,7 +849,7 @@ de: from: "Arbeitspaket" to: "Zugehöriges Arbeitspaket" reminder: - remind_at_date: "Date" + remind_at_date: "Datum" remind_at_time: "Time" repository: url: "URL" diff --git a/config/locales/crowdin/js-ru.yml b/config/locales/crowdin/js-ru.yml index 0f6673e09815..705a5132fb67 100644 --- a/config/locales/crowdin/js-ru.yml +++ b/config/locales/crowdin/js-ru.yml @@ -656,7 +656,7 @@ ru: message: "Есть новые уведомления." link_text: "Нажмите здесь, чтобы загрузить их." reminders: - note: "Note: “%{note}”" + note: "Примечание: \"%{note}\"" settings: change_notification_settings: 'Измените настройки уведомлений , чтобы не пропустить важное обновление.' title: "Настройки уведомлений" @@ -1048,11 +1048,11 @@ ru: duplicate_query_title: "Представление с таким именем уже существует. Менять в любом случае?" text_no_results: "Подходящие представления не найдены." reminders: - button_label: "Set reminder" + button_label: "Установить напоминание" title: - new: "Set reminder" - edit: "Edit reminder" - subtitle: "You will receive a notification for this work package at the chosen time." + new: "Установить напоминание" + edit: "Редактировать напоминание" + subtitle: "Вы получите уведомление о данном пакете работ в выбранное время." scheduling: is_parent: "Даты этого пакета работ выводятся автоматически из дочерних пакетов работ. Используйте «Ручной планировщик», чтобы установить даты." is_switched_from_manual_to_automatic: "Даты этого пакета работ могут быть пересчитаны после переключения с ручного на автоматическое планирование из-за связей с другими пакетами работ." diff --git a/config/locales/crowdin/js-zh-TW.yml b/config/locales/crowdin/js-zh-TW.yml index ea6a61fa8d1f..966e4351e29d 100644 --- a/config/locales/crowdin/js-zh-TW.yml +++ b/config/locales/crowdin/js-zh-TW.yml @@ -1048,7 +1048,7 @@ zh-TW: title: new: "設定提醒" edit: "編輯提醒" - subtitle: "You will receive a notification for this work package at the chosen time." + subtitle: "您會在選擇的時間收到此工作項目的通知。" scheduling: is_parent: "此工作包的日期會自動從其子項推導出。可啟用“手動計劃”來設置日期。" is_switched_from_manual_to_automatic: "由於與其他工作包的關係,在從手動計劃切換為自動計劃後,此工作包的日期可能需要重新計算。" diff --git a/config/locales/crowdin/mn.yml b/config/locales/crowdin/mn.yml index f59d2b7c8434..ccfbae4b21b1 100644 --- a/config/locales/crowdin/mn.yml +++ b/config/locales/crowdin/mn.yml @@ -335,7 +335,7 @@ mn: favored: "Favorite projects" archived: "Archived projects" shared: "Shared project lists" - my_lists: "My project lists" + my_lists: "Миний төслийн жагсаалт" new: placeholder: "New project list" delete_modal: @@ -362,7 +362,7 @@ mn: actions: label_enable_single: "Active in this project, click to disable" label_disable_single: "Inactive in this project, click to enable" - remove_from_project: "Remove from project" + remove_from_project: "Төслөөс устгах" label_enable_all: "Enable all" label_disable_all: "Disable all" is_required_blank_slate: @@ -1334,8 +1334,8 @@ mn: placeholder_user: "Placeholder user" project: "Project" project_query: - one: "Project list" - other: "Project lists" + one: "Төслийн жагсаалт" + other: "Төслийн жагсаалтууд" query: "Custom query" role: one: "Role" @@ -1416,7 +1416,7 @@ mn: default_columns: "Default columns" description: "Description" derived_due_date: "Derived finish date" - derived_estimated_hours: "Total work" + derived_estimated_hours: "Нийт ажил" derived_start_date: "Derived start date" display_sums: "Display Sums" due_date: "Finish date" @@ -2238,7 +2238,7 @@ mn: label_custom_field_default_type: "Empty type" label_custom_style: "Design" label_custom_style_description: "Choose how OpenProject looks to you with themes, select your default colors to use in the app and how exports look like." - label_dashboard: " Хянах самбар" + label_dashboard: "Хянах самбар" label_database_version: "PostgreSQL version" label_date: "Date" label_date_and_time: "Date and time" @@ -2355,7 +2355,7 @@ mn: label_index_by_title: "Index by title" label_information: "Information" label_information_plural: "Information" - label_installation_guides: "Installation guides" + label_installation_guides: "Суулгах зааварууд" label_integer: "Integer" label_internal: "Internal" label_introduction_video: "Introduction video" @@ -2801,7 +2801,7 @@ mn: more_to_see: one: "There is 1 more work package with notifications." other: "There are %{count} more work packages with notifications." - open_in_browser: "Open in browser" + open_in_browser: "Хөтөч дээр нээх" reason: watched: "Watched" assigned: "Assigned" @@ -3023,7 +3023,7 @@ mn: permission_add_work_package_notes: "Add notes" permission_add_work_packages: "Add work packages" permission_add_messages: "Post messages" - permission_add_project: "Create projects" + permission_add_project: "Төсөл үүсгэх" permission_add_work_package_attachments: "Add attachments" permission_add_work_package_attachments_explanation: "Allows adding attachments without Edit work packages permission" permission_archive_project: "Archive project" @@ -3041,7 +3041,7 @@ mn: permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Copy projects" permission_copy_work_packages: "Copy work packages" - permission_create_backup: "Create backups" + permission_create_backup: "Нөөцлөлт үүсгэх" permission_delete_work_package_watchers: "Delete watchers" permission_delete_work_packages: "Delete work packages" permission_delete_messages: "Delete messages" diff --git a/config/locales/crowdin/ru.seeders.yml b/config/locales/crowdin/ru.seeders.yml index faa5a996758a..a57c7fbefa62 100644 --- a/config/locales/crowdin/ru.seeders.yml +++ b/config/locales/crowdin/ru.seeders.yml @@ -244,7 +244,7 @@ ru: wiki: title: Спринт 1 content: | - ### Встреча по планированию спринта + ### Совещание по планированию спринта _Пожалуйста, документируйте здесь темы на встречу по планированию спринта_ @@ -288,7 +288,7 @@ ru: * Время (3 ч). * После просмотра спринта, будет модерироваться Scrum Master. - * Команда обсуждает весну: что пошло хорошо, что должно быть улучшено, чтобы быть более продуктивным для следующего спринта или даже весело. + * Команда обсуждает спринт: что пошло хорошо, что должно быть улучшено, чтобы быть более продуктивным для следующего спринта или даже весело. item_3: name: Спринт 2 categories: diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index 767b3d512059..d49252a81cd0 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -871,8 +871,8 @@ ru: from: "Пакет работ" to: "Похожий пакет работ" reminder: - remind_at_date: "Date" - remind_at_time: "Time" + remind_at_date: "Дата" + remind_at_time: "Время" repository: url: "URL" role: @@ -1471,7 +1471,7 @@ ru: login: "Имя пользователя" mail: "Электронная почта" name: "Имя" - note: "Note" + note: "Заметка" password: "Пароль" priority: "Приоритет" project: "Проект" @@ -1568,7 +1568,7 @@ ru: button_print: "Печать" button_quote: "Цитата" button_remove: Удалить - button_remove_reminder: "Remove reminder" + button_remove_reminder: "Удалить напоминание" button_rename: "Переименовать" button_replace: "Заменить" button_revoke: "Отозвать" @@ -1579,7 +1579,7 @@ ru: button_save_as: "Сохранить как" button_apply_changes: "Применить изменения" button_save_back: "Сохранить и вернуться" - button_set_reminder: "Set reminder" + button_set_reminder: "Установить напоминание" button_show: "Показать" button_sort: "Сортировать" button_submit: "Отправить" @@ -1821,8 +1821,8 @@ ru: direction: Слева направо ee: upsale: - title: "Enterprise add-on" - link_title: "More information" + title: "Корпоративное дополнение" + link_title: "Дополнительная информация" form_configuration: description: "Настройте конфигурацию формы с помощью этих дополнительных дополнений:" add_groups: "Добавить новую группу атрибутов" @@ -1859,7 +1859,7 @@ ru: error_pdf_export_too_many_columns: "Для экспорта в PDF-файл выбрано слишком много столбцов. Пожалуйста, сократите количество столбцов." error_pdf_failed_to_export: "Не удалось сохранить экспорт в PDF: %{error}" error_token_authenticity: "Не удалось проверить CSRF-токен. Возможно, вы попытались отправить данные сразу из нескольких браузеров или вкладок. Закройте все вкладки и попробуйте снова." - error_reminder_not_found: "The reminder was not found or was already notified about." + error_reminder_not_found: "Напоминание не было найдено или о нем уже было сообщено." error_work_package_not_found_in_project: "Пакет работ не найден или не принадлежит к этому проекту" error_work_package_id_not_found: "Пакет работ не найден." error_must_be_project_member: "должен быть участник проекта" @@ -2153,7 +2153,7 @@ ru: responsible: "Ответственный" shared: "Общий доступ" watched: "Наблюдатель" - reminder: "Reminder" + reminder: "Напоминания" facets: unread: "Непрочтено" unread_title: "Показать непрочитанные" @@ -2709,7 +2709,7 @@ ru: label_this_month: "в этом месяце" label_this_week: "на этой неделе" label_this_year: "в этом году" - label_time: "Time" + label_time: "Время" label_time_entry_plural: "Затраченное время" label_time_entry_activity_plural: "Потраченное время" label_title: "Заголовок" @@ -3865,11 +3865,11 @@ ru: view: "Просматривать" view_description: "Может просматривать этот пакет работ." reminders: - label_remind_at: "Date" - note_placeholder: "Why are you setting this reminder?" - success_creation_message: "Reminder set successfully. You will receive a notification for this work package at the chosen time." - success_update_message: "Reminder updated successfully." - success_deletion_message: "Reminder deleted successfully." + label_remind_at: "Дата" + note_placeholder: "Причина установки напоминания" + success_creation_message: "Напоминание установлено. Вы получите уведомление о данном пакете работ в выбранное время." + success_update_message: "Напоминание успешно обновлено." + success_deletion_message: "Напоминание успешно удалено." sharing: count: zero: "0 пользователей" diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index 20e349f79e0e..0fea08b1b753 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -639,7 +639,7 @@ zh-TW: lag: subject: "延遲" title: "延遲(天數)" - caption: "The gap in number of working days in between the two work packages" + caption: "兩個工作項目之間的工作天數差距" relations: label_relates_singular: "相關於" label_relates_plural: "相關於" @@ -3749,7 +3749,7 @@ zh-TW: view_description: "查看此工作項目" reminders: label_remind_at: "日期" - note_placeholder: "Why are you setting this reminder?" + note_placeholder: "為什麼要設定這個提醒?" success_creation_message: "提醒設定成功。您會在選定的時間收到此工作項目的通知。" success_update_message: "提醒成功更新" success_deletion_message: "提醒已成功刪除。" diff --git a/modules/avatars/config/locales/crowdin/mn.yml b/modules/avatars/config/locales/crowdin/mn.yml index 5fb37d6d90e8..2308c5bfeaa8 100644 --- a/modules/avatars/config/locales/crowdin/mn.yml +++ b/modules/avatars/config/locales/crowdin/mn.yml @@ -4,23 +4,23 @@ mn: name: "Avatars" description: >- This plugin allows OpenProject users to upload a picture to be used as an avatar or use registered images from Gravatar. - label_avatar: "Avatar" - label_avatar_plural: "Avatars" - label_current_avatar: "Current Avatar" - label_choose_avatar: "Choose Avatar from file" - message_avatar_uploaded: "Avatar changed successfully." - error_image_upload: "Error saving the image." - error_image_size: "The image is too large." + label_avatar: "Аватар" + label_avatar_plural: "Аватар" + label_current_avatar: "Одоогийн Аватар" + label_choose_avatar: "Аватарыг файлаас сонгох" + message_avatar_uploaded: "Аватар амжилттай өөрчлөгдлөө." + error_image_upload: "Зураг хадгалахад алдаа гарлаа." + error_image_size: "Зураг хэтэрхий том байна." are_you_sure_delete_avatar: "Are you sure you want to delete your avatar?" - avatar_deleted: "Avatar deleted successfully." + avatar_deleted: "Аватар амжилттай устгалаа." unable_to_delete_avatar: "Avatar could not be deleted." wrong_file_format: "Allowed formats are jpg, png, gif" empty_file_error: "Please upload a valid image (jpg, png, gif)" avatars: - label_avatar: "Avatar" + label_avatar: "Аватар" label_gravatar: 'Gravatar' - label_current_avatar: 'Current avatar' - label_local_avatar: 'Custom avatar' + label_current_avatar: 'Одоогийн Аватар' + label_local_avatar: 'Дурын аватар' text_current_avatar: | The following image shows the current avatar. text_upload_instructions: | diff --git a/modules/backlogs/config/locales/crowdin/mn.yml b/modules/backlogs/config/locales/crowdin/mn.yml index 574fc99ac67a..1f81853379ff 100644 --- a/modules/backlogs/config/locales/crowdin/mn.yml +++ b/modules/backlogs/config/locales/crowdin/mn.yml @@ -26,7 +26,7 @@ mn: activerecord: attributes: work_package: - position: "албан тушаал" + position: "Албан тушаал" story_points: "Гүйцэтгэлийн оноо" backlogs_work_package_type: "Backlog type" errors: @@ -47,9 +47,9 @@ mn: burndown_graph: "Burndown Graph" card_paper_size: "Paper size for card printing" chart_options: "Chart options" - close: "Close" + close: "Хаах" column_width: "Column width:" - date: "Day" + date: "Өдөр" definition_of_done: "Definition of Done" generating_chart: "Generating Graph..." hours: "Цаг" @@ -70,11 +70,11 @@ mn: story: "Story" story_points: "Гүйцэтгэлийн оноо" story_points_ideal: "Story Points (ideal)" - task: "Task" - task_color: "Task color" + task: "Даалгавар" + task_color: "Даалгаврын өнгө" unassigned: "Unassigned" x_more: "%{count} more..." - backlogs_active: "active" + backlogs_active: "идэвхтэй" backlogs_any: "any" backlogs_inactive: "Project shows no activity" backlogs_points_burn_direction: "Points burn up/down" @@ -102,7 +102,7 @@ mn: error_outro: "Please correct the above errors before submitting again." event_sprint_description: "%{summary}: %{url}\n%{description}" event_sprint_summary: "%{project}: %{summary}" - ideal: "ideal" + ideal: "хамгийн тохиромжтой" inclusion: "is not included in the list" label_back_to_project: "Back to project page" label_backlog: "Backlog" diff --git a/modules/bim/config/locales/crowdin/ru.yml b/modules/bim/config/locales/crowdin/ru.yml index 048f50493a78..eda54c4ccd1e 100644 --- a/modules/bim/config/locales/crowdin/ru.yml +++ b/modules/bim/config/locales/crowdin/ru.yml @@ -9,7 +9,7 @@ ru: label_bcf: 'BCF' label_imported_failed: 'Неудачный импорт тем BCF' label_imported_successfully: 'Успешно импортированные темы BCF' - label_bcf_issue_associated: "BCF issue associated" + label_bcf_issue_associated: "Связанная проблема BCF" issues: "Замечания" recommended: 'рекомендуется' not_recommended: 'не рекомендуется' diff --git a/modules/boards/config/locales/crowdin/js-mn.yml b/modules/boards/config/locales/crowdin/js-mn.yml index 439c3d0a0d38..f9d9a67c5692 100644 --- a/modules/boards/config/locales/crowdin/js-mn.yml +++ b/modules/boards/config/locales/crowdin/js-mn.yml @@ -2,29 +2,29 @@ mn: js: boards: - create_new: 'Create new board' - label_unnamed_board: 'Unnamed board' - label_unnamed_list: 'Unnamed list' - label_board_type: 'Board type' + create_new: 'Шинэ самбар үүсгэх' + label_unnamed_board: 'Нэрлэгдээгүй самбар' + label_unnamed_list: 'Нэрлэгдээгүй жагсаалт' + label_board_type: 'Самбарын төрөл' upsale: teaser_text: 'Would you like to automate your workflows with Boards? Advanced boards are an Enterprise add-on. Please upgrade to a paid plan.' - upgrade: 'Upgrade now' + upgrade: 'Яг одоо шинэчлэх' lists: - delete: 'Delete list' + delete: 'Устгасан жагсаалт' version: is_locked: 'Version is locked. No items can be added to this version.' is_closed: 'Version is closed. No items can be added to this version.' - close_version: 'Close version' - open_version: 'Open version' - lock_version: 'Lock version' - unlock_version: 'Unlock version' - edit_version: 'Edit version' - show_version: 'Show version' - locked: 'Locked' - closed: 'Closed' - new_board: 'New board' + close_version: 'Хувилбар хаах' + open_version: 'Хувилбар нээх' + lock_version: 'Хувилбар цоожлох' + unlock_version: 'Хувилбарын цоожыг тайлах' + edit_version: 'Хувилбар засах' + show_version: 'Хувилбар харах' + locked: 'Цоожлогдсон' + closed: 'Хаагдсан' + new_board: 'Шинэ самбар' add_list: 'Add list to board' - add_card: 'Add card' + add_card: 'Картлуу нэмэх' error_attribute_not_writable: "Cannot move the work package, %{attribute} is not writable." error_loading_the_list: "Error loading the list: %{error_message}" error_permission_missing: "The permission to create public queries is missing" @@ -32,12 +32,12 @@ mn: text_hidden_list_warning: "Not all lists are displayed because you lack the permission. Contact your admin for more information." click_to_remove_list: "Click to remove this list" board_type: - text: 'Board type' - free: 'basic' + text: 'Самбарын төрөл' + free: 'ердийн' select_board_type: 'Please choose the type of board you need.' free_text: > Start from scratch with a blank board. Manually add cards and columns to this board. - action: 'Action board' + action: 'Үйлдлийн самбар' action_by_attribute: 'Action board (%{attribute})' action_text: > A board with filtered lists on %{attribute} attribute. Moving work packages to other lists will update their attribute. @@ -52,18 +52,18 @@ mn: action_text_version: > Board with automated columns based on the version attribute. Ideal for planning product development. action_type: - assignee: assignee - status: status + assignee: даалгагч + status: төлөв version: version - subproject: subproject + subproject: дэд төсөл subtasks: parent-child board_type_title: - assignee: Assignee - status: Status - version: Version + assignee: Даалгагч + status: Төлөв + version: Хувилбар subproject: Subproject subtasks: Parent-child - basic: Basic + basic: Ердийн select_attribute: "Action attribute" add_list_modal: labels: diff --git a/modules/boards/config/locales/crowdin/mn.yml b/modules/boards/config/locales/crowdin/mn.yml index c6adf037e768..6401d3514b74 100644 --- a/modules/boards/config/locales/crowdin/mn.yml +++ b/modules/boards/config/locales/crowdin/mn.yml @@ -3,24 +3,24 @@ mn: plugin_openproject_boards: name: "OpenProject Boards" description: "Provides board views." - permission_show_board_views: "View boards" - permission_manage_board_views: "Manage boards" - project_module_board_view: "Boards" + permission_show_board_views: "Самбаруудыг үзэх" + permission_manage_board_views: "Самбаруудыг удирдах" + project_module_board_view: "Самбарууд" boards: - label_board: "Board" - label_boards: "Boards" - label_create_new_board: "Create new board" - label_board_type: "Board type" + label_board: "Самбар" + label_boards: "Самбарууд" + label_create_new_board: "Шинэ самбар үүсгэх" + label_board_type: "Самбарын төрөл" board_types: - free: Basic - action: "Action board (%{attribute})" + free: Ердийн + action: "Үйлдлийн самбар (%{attribute})" board_type_attributes: - assignee: Assignee - status: Status - version: Version - subproject: Subproject + assignee: Даалгагч + status: Төлөв + version: Хувилбар + subproject: Дэд төсөл subtasks: Parent-child - basic: Basic + basic: Ердийн board_type_descriptions: basic: > Start from scratch with a blank board. Manually add cards and columns to this board. @@ -35,5 +35,5 @@ mn: subtasks: > Board with automated columns for sub-elements. Dragging work packages to other lists updates the parent accordingly. upsale: - teaser_text: 'Would you like to automate your workflows with Boards? Advanced boards are an Enterprise add-on. Please upgrade to a paid plan.' - upgrade: 'Upgrade now' + teaser_text: 'Та самбарын тусламжтайгаар ажлын урсгалаа автоматжуулахыг хүсч байна уу? Нарийвчилсан самбарууд нь Enterprise нэмэлт юм. Төлбөртэй багц болгон шинэчилнэ үү.' + upgrade: 'Одоо шинэчлэх' diff --git a/modules/calendar/config/locales/crowdin/js-mn.yml b/modules/calendar/config/locales/crowdin/js-mn.yml index 194eaf34bdc6..005c38122ee1 100644 --- a/modules/calendar/config/locales/crowdin/js-mn.yml +++ b/modules/calendar/config/locales/crowdin/js-mn.yml @@ -2,7 +2,7 @@ mn: js: calendar: - create_new: 'Create new calendar' - title: 'Calendar' - too_many: 'There are %{count} work packages in total, but only %{max} can be shown.' - unsaved_title: 'Unnamed calendar' + create_new: 'Шинэ хуанли үүсгэх' + title: 'Хуанли' + too_many: 'Нийт %{count} ажлын багц байгаа ч зөвхөн %{max}-г харуулах боломжтой.' + unsaved_title: 'Нэрлэгдээгүй хуанли' diff --git a/modules/calendar/config/locales/crowdin/mn.yml b/modules/calendar/config/locales/crowdin/mn.yml index b8eb4cd2d168..78f6a9ad08e4 100644 --- a/modules/calendar/config/locales/crowdin/mn.yml +++ b/modules/calendar/config/locales/crowdin/mn.yml @@ -1,12 +1,12 @@ #English strings go here mn: plugin_openproject_calendar: - name: "OpenProject Calendar" - description: "Provides calendar views." + name: "OpenProject Хуанли" + description: "Хуанли харах боломжийг олгодог." label_calendar: "Calendar" - label_calendar_plural: "Calendars" - label_new_calendar: "New calendar" - permission_view_calendar: "View calendars" - permission_manage_calendars: "Manage calendars" + label_calendar_plural: "Хуанли" + label_new_calendar: "Шинэ хуанли" + permission_view_calendar: "Хуанли харах" + permission_manage_calendars: "Хуанли удирдах" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendars" + project_module_calendar_view: "Хуанли" diff --git a/modules/dashboards/config/locales/crowdin/js-mn.yml b/modules/dashboards/config/locales/crowdin/js-mn.yml index fa1138ce7dd5..47e6b5a69741 100644 --- a/modules/dashboards/config/locales/crowdin/js-mn.yml +++ b/modules/dashboards/config/locales/crowdin/js-mn.yml @@ -1,4 +1,4 @@ mn: js: dashboards: - label: ' Хянах самбар' + label: 'Хянах самбар' diff --git a/modules/documents/config/locales/crowdin/mn.yml b/modules/documents/config/locales/crowdin/mn.yml index 4430633680a2..0717bdcec09f 100644 --- a/modules/documents/config/locales/crowdin/mn.yml +++ b/modules/documents/config/locales/crowdin/mn.yml @@ -21,23 +21,23 @@ #++ mn: plugin_openproject_documents: - name: "OpenProject Documents" + name: "OpenProject баримт бичиг" description: "An OpenProject plugin to allow creation of documents in projects." activerecord: models: - document: "Document" + document: "Баримт бичиг" activity: filter: - document: "Documents" - default_doc_category_tech: "Technical documentation" - default_doc_category_user: "User documentation" - enumeration_doc_categories: "Document categories" + document: "Баримт бичгүүд" + default_doc_category_tech: "Техникийн баримт бичиг" + default_doc_category_user: "Хэрэглэгчийн баримт бичиг" + enumeration_doc_categories: "Баримт бичгийн ангилал" documents: - label_attachment_author: "Attachment author" - label_document_added: "Document added" + label_attachment_author: "Хавсралтын зохиогч" + label_document_added: "Баримт бичиг нэмэгдсэн" label_document_new: "New document" - label_document_plural: "Documents" - label_documents: "Documents" - permission_manage_documents: "Manage documents" - permission_view_documents: "View documents" - project_module_documents: "Documents" + label_document_plural: "Баримт бичгүүд" + label_documents: "Баримт бичгүүд" + permission_manage_documents: "Баримт бичгүүдийг удирдах" + permission_view_documents: "Баримт бичгүүдийг харах" + project_module_documents: "Баримт бичгүүд" diff --git a/modules/job_status/config/locales/crowdin/mn.yml b/modules/job_status/config/locales/crowdin/mn.yml index 0be309ed5798..5de2f35a0d77 100644 --- a/modules/job_status/config/locales/crowdin/mn.yml +++ b/modules/job_status/config/locales/crowdin/mn.yml @@ -1,21 +1,21 @@ mn: - label_job_status_plural: "Job statuses" + label_job_status_plural: "Ажлын төлвүүд" plugin_openproject_job_status: name: "OpenProject Job status" description: "Listing and status of background jobs." 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' + click_here: 'энд дарна уу' + title: 'Суурь ажлын төлөв' 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' + 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.' + error: 'Ажлыг дуусгаж чадсангүй.' cancelled: 'The job has been cancelled due to an error.' success: 'The job completed successfully.' diff --git a/modules/meeting/config/locales/crowdin/de.yml b/modules/meeting/config/locales/crowdin/de.yml index d5e73c5fb2ae..cd6175d98709 100644 --- a/modules/meeting/config/locales/crowdin/de.yml +++ b/modules/meeting/config/locales/crowdin/de.yml @@ -61,7 +61,7 @@ de: invalid_time_format: "ist keine gültige Zeit. Erforderliches Format: HH:MM" models: recurring_meeting: "Wiederkehrende Besprechung" - structured_meeting: "One-time meeting" + structured_meeting: "Einmalige Besprechung" meeting_agenda_item: "Tagesordnungspunkt" meeting_agenda: "Agenda" meeting_minutes: "Protokoll" @@ -95,7 +95,7 @@ de: label_meeting: "Besprechung" label_meeting_plural: "Besprechungen" label_meeting_new: "Neue Besprechung" - label_meeting_new_dynamic: "New one-time meeting" + label_meeting_new_dynamic: "Neue einmalige Besprechung" label_meeting_new_recurring: "Neue Terminserie" label_meeting_create: "Besprechung erstellen" label_meeting_copy: "Besprechung kopieren" @@ -184,11 +184,11 @@ de: label_mail_all_participants: "E-Mail an alle Teilnehmer senden" types: classic: "Klassisch" - classic_text: "Organize your meeting as a single formattable text agenda and protocol." - structured: "One-time" + classic_text: "Organisieren Sie Ihre Besprechung und zugehöriges Protokoll in einem einzelnen Notizblock." + structured: "Einmalig" recurring: "Terminserie" - recurring_text: "Create meeting series with dynamic template for each occurrence." - structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." + recurring_text: "Erstellen Sie eine Terminserie mit einer dynamischen Vorlage und wiederkehrenden Besprechungen." + structured_text: "Organisieren Sie Ihr Meeting als strukturierte Liste von Einträgen und verknüpfen Sie diese optional mit einem Arbeitspaket." structured_text_copy: "Das Kopieren einer Besprechung kopiert derzeit nicht die zugehörigen Tagesordnungspunkte, sondern nur dessen Details" copied: "Kopiert von Meeting #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/ru.yml b/modules/meeting/config/locales/crowdin/ru.yml index 444755c4d1ef..58a752ddd939 100644 --- a/modules/meeting/config/locales/crowdin/ru.yml +++ b/modules/meeting/config/locales/crowdin/ru.yml @@ -63,7 +63,7 @@ ru: invalid_time_format: "недопустимое время. Требуемый формат: ЧЧ:ММ" models: recurring_meeting: "Повторяющееся совещание" - structured_meeting: "One-time meeting" + structured_meeting: "Однократное совещание" meeting_agenda_item: "Пункт повестки" meeting_agenda: "Повестка дня" meeting_minutes: "Протокол(-ы)" @@ -97,7 +97,7 @@ ru: label_meeting: "Совещание" label_meeting_plural: "Совещания" label_meeting_new: "Новое совещание" - label_meeting_new_dynamic: "New one-time meeting" + label_meeting_new_dynamic: "Новое однократное совещание" label_meeting_new_recurring: "Новое повторяющееся совещание" label_meeting_create: "Создать совещание" label_meeting_copy: "Копировать совещание" @@ -142,10 +142,10 @@ ru: label_past_meetings_short: "Прошедшие" label_involvement: "Вовлечение" label_invitations: "Приглашения" - label_invited_user: "Invited user" + label_invited_user: "Приглашенный пользователь" label_past_invitations: "Прошлые приглашения" label_attended: "Участвовал" - label_attended_user: "Attended user" + label_attended_user: "Участвовавший пользователь" label_created_by_me: "Создано мной" label_notify: "Отправка на рецензию" label_icalendar: "Отправить iCalendar" @@ -186,11 +186,11 @@ ru: label_mail_all_participants: "Отправить письмо всем участникам" types: classic: "Классический" - classic_text: "Organize your meeting as a single formattable text agenda and protocol." - structured: "One-time" + classic_text: "Организуйте встречу как одну форматируемую повестку и протокол." + structured: "Однократная" recurring: "Периодичность" - recurring_text: "Create meeting series with dynamic template for each occurrence." - structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." + recurring_text: "Создать серию встреч с динамическим шаблоном для каждого события." + structured_text: "Организуйте своё совещание в виде списка пунктов повестки, при необходимости связав их с пакетом работ." structured_text_copy: "При копировании совещания в настоящее время не скопируются связанные с ним пункты повестки, будут скопированы только детали" copied: "Скопировано со встречи #%{id}" meeting_section: diff --git a/modules/meeting/config/locales/crowdin/zh-TW.yml b/modules/meeting/config/locales/crowdin/zh-TW.yml index f26f5c267196..5fa0cff293b8 100644 --- a/modules/meeting/config/locales/crowdin/zh-TW.yml +++ b/modules/meeting/config/locales/crowdin/zh-TW.yml @@ -60,7 +60,7 @@ zh-TW: invalid_time_format: "不是有效時間。所需格式: HH:MM" models: recurring_meeting: "重複性會議" - structured_meeting: "One-time meeting" + structured_meeting: "一次性會議" meeting_agenda_item: "議程項目" meeting_agenda: "會議大綱" meeting_minutes: "會議記錄" @@ -94,7 +94,7 @@ zh-TW: label_meeting: "會議" label_meeting_plural: "會議" label_meeting_new: "新增會議" - label_meeting_new_dynamic: "New one-time meeting" + label_meeting_new_dynamic: "建立一次性會議" label_meeting_new_recurring: "新的重複性會議" label_meeting_create: "新增會議" label_meeting_copy: "複製會議" @@ -120,9 +120,9 @@ zh-TW: label_recurring_meeting_cancel: "取消此事件" label_recurring_meeting_delete: "刪除此事件" label_recurring_meeting_delete_confirmation: > - This meeting is part of a series called %{name}. This will only delete this particular occurrence and not the entire series. Do you want to continue? + 此會議是 %{name}系列的一部分。這只會刪除此特定事件,而不會刪除整個系列。您要繼續嗎? label_recurring_occurrence_delete_confirmation: > - Any meeting information not in the template will be lost. Do you want to continue? + 任何不在範本中的會議資訊將會遺失。要繼續嗎? label_recurring_meeting_restore: "恢復此事件" label_recurring_meeting_more: "還有 %{count} 預定會議 (%{schedule})。" label_recurring_meeting_more_singular: "還有 %{count} 預定會議 (%{schedule})。" @@ -154,9 +154,9 @@ zh-TW: label_start_date: "開始日期" meeting: participants: - template: "These participants will be invited automatically to all future meetings as they are created." + template: "這些參與者將自動被邀請參加未來所有建立的會議。" attachments: - template: "These attached files will be included in all future meetings in the series." + template: "這些隨附的檔案將納入所有未來的系列會議中。" text: "所有會議參與者都可以使用附件, 您也可以將它們拖放到議程項目註釋中。" copy: title: "複製會議 %{title}" @@ -183,11 +183,11 @@ zh-TW: label_mail_all_participants: "發送電子郵件給所有參與者" types: classic: "經典" - classic_text: "Organize your meeting as a single formattable text agenda and protocol." - structured: "One-time" + classic_text: "將會議組織為單一可格式化的文字議程和規程。" + structured: "一次性" recurring: "重覆" - recurring_text: "Create meeting series with dynamic template for each occurrence." - structured_text: "Organize your meeting as a dynamic list of agenda items, optionally linking them to a work package." + recurring_text: "為每次發生的事件建立具有動態範本的會議系列。" + structured_text: "將會議組織為動態的議程項目清單,可選擇將其連結到工作項目。" structured_text_copy: "目前複製會議不會複製相關會議的議程項目,只會複製會議的詳細信息。" copied: "從會議紀錄 #%{id} 中複製" meeting_section: @@ -197,9 +197,9 @@ zh-TW: empty_text: "將項目拖曳至此處或建立新項目" recurring_meeting: occurrence: - infoline: "This meeting is part of a recurring meeting series." - error_no_next: "There is no next occurrence for this meeting." - first_already_exists: "The first occurrence of this meeting series is already instantiated." + infoline: "此會議為定期舉行的系列會議之一。" + error_no_next: "本次會議無下次會議。" + first_already_exists: "此會議系列的第一次出現已經實體化。" first_created: > 第一次會議已從範本成功建立。以後所有的會議都會在前一次發生時自動建立。 template: @@ -228,7 +228,7 @@ zh-TW: weekly: "每週 %{weekday}" weekly_interval: "每 %{interval} 週 %{weekday}" frequency: "%{base} 在 %{time}" - full: "%{base} at %{time}, ends on %{end_date}" + full: "%{base} 於 %{time}, 結束於 %{end_date}" notice_successful_notification: "通知傳送成功" notice_timezone_missing: 沒有設定時區,預設時區為 %{zone} 。請按這裡選擇您的時區。 notice_meeting_updated: "本頁已由他人更新。重新載入以查看變更。" diff --git a/modules/my_page/config/locales/crowdin/js-mn.yml b/modules/my_page/config/locales/crowdin/js-mn.yml index 41f773efc2cd..1a6749448729 100644 --- a/modules/my_page/config/locales/crowdin/js-mn.yml +++ b/modules/my_page/config/locales/crowdin/js-mn.yml @@ -1,4 +1,4 @@ mn: js: my_page: - label: "My page" + label: "Миний хуудас" diff --git a/modules/storages/config/locales/crowdin/zh-TW.yml b/modules/storages/config/locales/crowdin/zh-TW.yml index ff609258c283..26abca30faee 100644 --- a/modules/storages/config/locales/crowdin/zh-TW.yml +++ b/modules/storages/config/locales/crowdin/zh-TW.yml @@ -124,7 +124,7 @@ zh-TW: not_found: "%{current_path} 沒有找到。" set_folders_permissions: permission_not_set: 無法在 %{path} 上設定權限。 - error: An unexpected error occurred. Please ensure that your Nextcloud instance is reachable and check OpenProject worker logs for more information + error: 發生意外錯誤。請確保您的 Nextcloud 可以連線,並檢查 OpenProject 日誌以取得更多資訊。 group_does_not_exist: "%{group} 不存在。請檢查您的 Nextcloud 實例配置。" insufficient_privileges: OpenProject 沒有足夠的權限將 %{user} 加入 %{group}。請檢查 Nextcloud 中的群組設定。 not_allowed: Nextcloud 封鎖該請求。 @@ -145,7 +145,7 @@ zh-TW: not_found: "%{current_path} 沒有找到。" set_folders_permissions: permission_not_set: 無法在 %{path} 上設定權限。 - error: An unexpected error occurred. Please ensure that OneDrive/SharePoint is reachable and check OpenProject worker logs for more information + error: 發生意外錯誤。請確保 OneDrive/SharePoint 可以存取,並檢查 OpenProject Worker 日誌以取得更多資訊。 not_allowed: OpenProject 不允許存取您的 OneDrive 磁碟機。請檢查 Azure 應用程式上設定的權限。 unauthorized: OpenProject 無法與 OneDrive 同步。請檢查您的儲存空間和 Azure 應用程式設定。 user_does_not_exist: "%{user} 在 Nextcloud 中不存在。"

    !ZN|W>j`zIeFVQt* z`1+7hhRj^QCqYpR2yKaj#_Lu2u)O0*nXx*}QUGysvSIJ(&If2#Oppa|R1Bg{PHY2)Iw*L1fP=O7QnqvZ7iG6-(zyL3$5LE9f4kpF#) zaZol_eF)Ol)S9Z#X{HCcfBW&_~WP9Q5J8yfM)6&!F1=%7e6s=3HUA6E@L<;BM)L0PBYr!j>C|Rs) zyI0M0NbX8?bFuKhAN>80cCh=+LH3=FIV7p0zGIu|LPyejdtlp&l#}*&&UU^x48=wxd+o_UV zf*l))qj29k8(BJpBf(1cuJWRYXx}4}dx)ind)+4&XcwNTQ^k>sAv^3ZUL(xv9q9B< z3IxSQn*BO#bRU5u%J)yOGB60s0$2*>U1vfTHJok?1R9=$(5K{BYFNsW`RuQ1gr`6B zPJ}!K<{nb|FM?Muww;ioJI`jHeoetcwKFxaG~*OzqEHU%uHT}WMd)onFt?OP1Y1V? zBLev)Z0yEyzk=duLBe$>63K8YM>N?Oa3r7a1P18?2e)KO5aZQ;m6ev)&~>BLjNRYm z0-nL7$YM9`IKpMlu=l1*05RS-3=m!U0lE|3^?{w$J)`H5YPu^Lb9SzBsLfAv>N7YQU!*jHhwzaR$L?L=N^2&!CkF<#6@2VgN#mn zp`XQwND`!7<*g=>gSKZueHUV&xl6CA?!3+L1Y%{;*Ni=yr|*XBUOOk8)7b_0qWOfm z2^RuElICDN7dDTy(!-`x5Bke6xBs~1J`SU8)vi)C_MSk}@>ok;JFlb^01wk?SVTTK z@$H=nh{)+=84P%OcmMnc#Bq^G{ZS&nL(mwDpTMQS2^CISJw^zGJM~kMo$;qZ(5CD{ zl+!3RVLcT&ugwqO2Hp~k$_&NMMj+@y6@ci0{@bFk<1JeJNhI|8bmd%UH-OU=hZo}& zd^XZ|A>WQSDu6pZEYLhG{e7PC_RO&!ya)Z~ajIBPk9Db$mI&q|v;$GtpU5)DSxyE2 z3&2nhPm6=7U50d<*L<|nE)~*0CO3Tp3AzN=q{y>gsN=i7So=Sfx(uikuP|-kG&U8v zW|S$z1WiFIZ2ukRhJrs;2PiQ;wuHY?FYs~Q1M?k&-=h0F|J+l1@&7)g2sqt=q>>OJ zJ!Sf_SM=~vCCH$S>8~06jT-acXaLyMZ~Nbc@Ur34;H&evYAbE};`ev!3IK%mrY8?5 zm7e8YXuh3{AN*fPVvmaTPZvII+`XR;Nl03O)Ny?J5zGJJcwGNkke5j7{py)`CI>js zqyg&s_c!eSf4?yy1GgC+e>>>@{Wm3Xgf;Es$F# z@ntRfqcuj@r88kpHE?2X}MuX z?Y*f!dR}nY*2yFx z;eCzsRJkg;K9F$PXI@%1KW;WE%Og2-e=AE~KtDU>=;X_;M1?@@~}@HDBwP@h}x-X;5G#gRXZSf&3r#zB{O?^ncg2 zu9X!;q^tC8%V`5UNgw&JrvQI07f8hr?cTQ5T~- zdlmu+_OE6j)6&_M#SNXC^B9O4lyd(Y$G)pGgH>)ZTo71m2-`G;1!O;9JMQ|I|F&2i zqQ@BY>gv3j_@_;=T_e7=>q;D7!)|17TnNj*J^Z4=rY<10Y%Fxlscgw41>Sh~hHwWm zbTu&FY)N|^AGRYDeu`V#QH$AYJXPoA!ScefkGEZI;Pv_RuE@l@^|~0BP&ADNMQnG& zzNzvU_MEbG>1l|!He&e9bQd9#>nQz&Cx_vVLnmY!+fyp%vi%KhlSs0`tFuA~TQf{+ zi^p)l(}_2YzsC+57?R0zUJY_|&VAqA|LG+sV`*`))UZLxmPq{sondeXzo|ER#b^E| zfQ%Hv3irIMoJH8Vl=T(Y%qp#ajlC_3H|ckAN_&ON#29?w>XBasa!2hxqbwzau|+v{ zj|TT8#C!)oRmpeJHGAmA?JO+BB1zoJb27ONtoBtTeyQH=TSw!QBTR=YLxwoU16G5H zGw`~_lIk~ZR@?owYpqxNX!ZGSHZUZotkkX>f;Ty1GUNtk{dh>DZ%UuLY8S)`P8o>aIs z)UFO}P0H@|Ae8tnxPM`+Q7r+kvbih+dM(UQXCdkcgXT{m*tc6NX>{Jz(%W}M89-$? zcB3cwJoNe5y;}npuoub6&(>v9o0OBU5xK#>WzL8mlde@5bS7Fv(5r(N5rSB&oRy;B z{+SVr2c79~Wr|5s$;LoYyGXoIj(kh#lwjsPgsouVBj9@VU z%>z#g=Y?OF+|Y?GPl72a;DH0NwyGk@X7JK8Q5nG1{ridRInZMnASAy(!ECS&BMJGe zC;GiC46^@pQKlc5=H<=F{Oq8eCrtHjnhSpPw!8udYMi4}hM<5X)i+E@h0=DH?=xdQ z2?hr{Ra!~`7vN7G4^JUs`fYUZ0(#Eu>WDmN2Pq4RCH&=8n<{JLk`M z=p@y%t^&jczQ#pIaZ(d=wrGew`F-#YkKu+dBLR+GsXCKBCGh&)DV2!$k$u7v|9pUu zy$nh?q_74$;m(hg%n5AJg5;Rnsb%TKP(~^-38+n?4IOXQvF)!AMBW(ml_A|c9Dxt} z{@Z#KKIvF-*f#ktijuJtYiVvLg%=XfTmKZ!`;1v1K`8WF@hkHhQia6PTyu zS}ne2Qroy=Sv_}7Jl3MDsiz^O(%mEJw?28EHQWuK@87RMb%!ba)4=`grCs3CCx4FD##z{49M1$n-t>Lz!0x0Bd|v;@UG3W0+roc_Yuc~7F5&Hu zh~toGYkm-+`6JAq?!FHH8qfYr>&~cpKg!!(q=#kygbB3r?WMq`H623k&1Tz={mc3M+thbm=T(cpyMx_x35)&J%82_7_U_5?(ErJu z?Llf1SpS@a{%`JR_cjcHM(N)A{l9WE1xhc|FPSQ>a)^h=aGlhaX6av9%`YkIB!@c7;i~3qkGM z2aY^pe$ch<(%+CbKOA;m_)#~FILR*Uz8vKvyq5gI{qL;kdJ;@Rc_sE%N=3{~NBFf+ z$*V+1uw67azwO{P;)Q>v^Lvlv>Q7r0raDR8xp>mjFR^k?L7gA_hFa449IJM-z5R*e z@g!}8>Wz9gNsH&EXK4b|&gUUI=xu}OBrSq9x0>ylgfnNC&Pv1=Gmr@fjxZe(Ac;{A zp9nS+)Jqj;L5~R}vh(l4sdqnbNA}|M-ebRgpPABQYNs9N_ ze!8f9OM+tQ1WR7Mq&mS*4E|hIB1UfR9FNSxVQB->?ebIgpY3mGyo$ANF}n9zQ<7YR zO!aWVTxQ8_XOU0}UqLi5t~sPhW`u56%DN2SIK`vHm9W-fQDaiO%ZJ*;SmiEa0^INzmy(RJim?IalA!HY zvd|k8gvdy{W3qgbTTap_ml4WYk@GTDR;4>8Shs6?M8NS#3`~^*4J$lA@5%nbrZsvCt{5o2Q9e*L{IFsve$8Xp-=z=bb;sO(ODuoA z440WX!J*{pUV|>^F5cX??u4ZiD8ga-Q}w8kUqgrc&wHtsskmtwd3^st)>ZSgs9QYn zBvd~Y=aujc_d%-hvYNSzZCJp5<40*)l> zH9xYQo%JZyQ8xY~Gwy|~5TEuTWLxI($%rwhk{7LCf*?CxH|G!RF0<_3p!L9jmEFqX3(94nToQlCMtMaywpTDM#^g5=x{HQ5Iof_ zAdd%oDI41<(Cyfj@22#6btxvuDoxci89%D-J?(BUq#v(ef7m%eY)C_r8JGA7$|f1F zQB{l7EA6pA+py&@@TX(Bfh!`lg1d(FDvYIyxN*lKX zS1mZR!g4ddvzNCNwU&F-+`~m)6Qh|B`@9C#1<^FiHJR^tcFtJ1H_-S)8F>;iNgAhW z2f^vAOY`ifdxJGKV!;meR5Lg=dOdl#4(EkWgjb2%lApE7WIqZhS}m9U=2i`lc~qu$ zV=VV1#o3?Iz?fR{8uq`!SaURMT{x;*@S-Pl-dVjlV@9YZU^T5~1S)_mD&MH{d&ed2 z`#0`X+Kl*SFSM6}>;5 z6$*uH4`Q33IK20OJA|G_cyf#5lTo(}OZycHm%^~#p}U9%gA~Q(9NP@T{yP9Vv~A&C zK0hUC=~RZ5#Yo!b;u2VWlQ(W($crt`r7?NX{ndlgj^K$6fm7t1vGK-V3}!5T}krBN25+`X4Hh!po^1rMTSYT zs#@|;53S#3qkWdLMN4=a)nCp`DGE@NZ;>-D$$m+^zLz2c^Zm~#ekQX?Obg0)>dp7w zD6+9aH!Ngk4hK(^IwtK-s)UddYKw`f+uRY(GAkq0;TJkrqN-w}nxdTj1+*Yo4vhMD z5kRVGPPX#gLHeo)T1kPeLovW>NP0C^Uq`Ylw7s|@(KCS|tQ+bhAtZYIxMHP+pQT#Q z(iGrzh8LTZOD}@)!Pf4CzN0bwa`T~7oj7m?+c&Z|2tgEkb`{SuDam?gqnJ6|=c6Td z*!Oda4{qM8%5a((4AQ!PHhnb<^^9ewZ&qqX1Bp;$~Y}xYY=v7)Llh=7+=`b zk{VFxyWimN@`-2s)H8{0qRRS#6Kxvu5eU860mhFJk_@!1$vC2VYcxjsm^_=ap6(>zS6ToFTrlKY}B@PeY&~dDlrdVsCMP$e+_9&lX0i>;YF6oSowFQ}&G&dG} z;v7$#yUs-|qD!s~{(P1}ISl}Mj+%j{G9uJ^1`!dW2~ktNw4U4vaNa%h%F2ha?LCgt za0`VIh~0*JosJt4w60&OF5Dv9meYLM^@fqE&``Df964NKQ-S#Achuj8+IX1#*T#$7 z!6!Rw8az4QtR8Du}be^XZB`cF}#(l)76R}+a;u)M$6m;YDS~~C9 z(^r!Dk+d0dfsAB*KED>arXnh=pCs!i(rzt1E>1Qg&M4yQWt+vVP&-%sWAoxfwTP(T z?}H@SMk~ZnxMT!BsLoogY5kjm2XKpR@2^XVA73=>4h`@o22Tmx?qbHVdgWXI{Urfu zHmNY2!`B(gS@mbO=t6Of%aBqEd!EOTv+3^d6&M#mEl54@oV>d<&dre}@b6spH-2Qd zbE|OtT~@>m(KUJZ?N2Y2L4Q&yWqc~hZFMx4H&mM3Om8v1o0lB8=#wJ)o#~FKgR+jEROhDX;2)UwME3o46Wlpr?&_M=}*X9xe3R2Xw{Kp>;dy z5>P}zul$6Of#Xn9e#xye>R0`=DHWME=6)o!7?2#ZE*A60Itw73D1(Y09YqJ-zos5j zs&}F{xNH`i_%~-n+3c4gAd_aKlc^+yo{eN#l>~n$_l5dW_D56IIW(_+&Zv54ycZd~ z5Ju^`WE3;5T{f%@myp)&U1R?uURGb7M3^9qyss!v_N{W?5-ZVox_&&~`Az-2yFW71 z0(Rq8wB9E7Z@0>)EA+~n9KXd#^n_Y>)!}kSlmhhKG+#! z@*c&wgGzc@6ebDy3If?hEG?}58+qIXVk6>a=s~5$P*@~3JBqhQK#sF=@od|wjH5@b zfYWHs3d?-BbLmAK5B}rkxQMeDczc1`Vn3==9k3ZDQTFX%w?HCNhH&~}${@Z*kN)CK z4@s(0JYP?Y=HBStg*ZB#Ya?$Q$k%Nk8-I3^>jw0w@=4qhkU zakyRKzg0*M`e|20pl2oJFq0O6d6@4gjNB} zq&-Vd`J4s5q2=njLm%F$BsaZowYA4ysBPk!6JY|Y+>Vi%YW?)(Ry#>qjt$h|e_J7m zgs!cd&+PP;)9#eN()cFl-e)=`VJWCCq<>J(sBk^>$?~}?kiy|YxPis$V)&G!llpEQ z`FB;=Z;B6oynY!*>U)r{i~WOB**j&PP$xA<&u;%%J+^tr(tno4X~A!fo)AK39EKKV zJ|Lz4-5p*v)i~6j=}6J;SyhRC*fTA6Kf!%tT!^pHhx8*hi`HHM&AC<}c~=?tGM!)9 ze^C-a8N5=AF8{k4^!+0kJ7vz2f)1)kj!{m}70RsC;2+!G)W7@K@!&u+zVBW6l) z2;hX?Ohj7-BnCz$X>~=gTss--h4*}oJaFsjCgCK^wZeTHSVf2R-m16$`OW-m4Nk$7}}<- z?|(DO91zzmmKcX;6otXQrCsm!6q0wQXqx`Es^0(Y5CL-#OZKH+4t~@N((IrUTo>x- z*{k)+ydR03C;4ratir}5u|xDYP~D~|zAv2in_a43USR5|$2JWdHFg}BW+P3P+F#Qe z|5v5Hj&1THpev>atQxGUFIW?*c8s$er+X$QTe~`-KL*(fa$M?=w9%mzQmwcr^H4zf zs*2;-_LFOEgEGGlluxN?oP!Vp6+!5cHWeb{A9p7G z3VQ;Qw}#evm{|%`>1X(D`(j~Ix+$KEm147T?fZy-U31n8R8{Lz(TgYAkDC()uM%^N zP5Et^;o%=9Q#=++4@DqeY1eBFby7PPO!&##M3=9l*)HXiZ=g0>j*bF-Q`ENyk8%I? zqR;|_M+c5zF#!t`yT;^Ao%!C1YDo-`e+`>C4}>=~A^bcEr~Z1>MQQ4;+vcd4y|)nv zU9Z!4lXwL92vDzkb*!1cGzh0u+4e0Pn< zhm(z+T{k1}WyZY5;)&0TYM=WhH89@EQa7xY;3lVDC0{Z{ z-tST@WK$yqO!qjcmFc!fSV~ELxAa>SW65jaNt&ryNmhkTKUfR!ppfmtj%WCBf4IRNR;C{!bX<{xN}XQG ze_7rlqzl)pU4~2R5wSKk9a|kkK{|w>F}t%eRcX1}b3v|CV#lL9n3G$pW%(##> z*_PMx%n^!)ntViMdUmYkYX~+8*k)WXI6}_7`J~A0_9LfRt|d(2A5is|iEPDBjUVMb z?m*_<>tcnkuHDWX)l=I#gQQ41j~mT&2izBCVN?a33%rLh@Jxl{xz_yE}LL&h!R9SPKF92Qhef5L(!3?1KfhKl!-IPC#1K zXg>Y*43Ro$)T1{&I$3PS$+=1C}T4vMI4Zxx)j5qL*z(nNdb#KYRF z-4vd78ap(n@={-SwoOc7ri9jVenpS_mEk096?2+J#R%&IfxG4F^DvWv znaY-o_%)vtkJ`hGgEU<&OZ_DJ_#JxH8M==4?oN+R01{1qm zai+Sksd+l21aO;u0}E#&?Arep-p}e`mk}toK#Y?Dj1byCoAy6*+xH(JDo&3f1av&4 zD>J?$t^S+lBlj`uL4LwEqvQ~bE)AT@ zaVDPStG<$QvV3}!j6~n$B=?Gz%7)W0!ivDVK^S$_)cws8%cQk+%3z^#a092{95&T0 zRWHvm`RS`DDJHc`G{ZyRYfq+T21`fW1Z+*D&@HW)T^nQ|JjkmdAh?@$~^ zX?cJ}NpwybowD@;NFAO4T;)6VFrddo6;K>C1PIphS!fk*6OK5_Z%g`f+(I zE>tc-ZsXo|eT-@%u_x~d$L%sLGzhb;Aid14U+X+;Y?qEmYJ*no=Dt7~yW#0va@Axm zP;QJN3sQZPzra+W=o=+(8NJd7c@`WGPMzpSQ4^2rN;p~$asJ3_BcJU2Z1}mJ+PT0y zk2&TPzMsYB#csP0i1s^82)4Ip)1IOS^rp+SAfrqMCHPQzc;ZDCgBUtUJ?F}^CV^|( zNi9h#>Ow+MyTjKSHU&$KXQr9lImgVqeiudJ5pSCI?!VhOVX$yF9wwTCk z*llSoNI7ImnYUfUD~*~XlUQz}zck2ZC%+%h8fZ3v!te@ep@A{VFG*SnT5HuL`)l2~ z{Qjcn(45zs;2g&LZ%|A^_BKF7h&Y$0Iav>gXaTVwns3H0>Ihs#Fww$-%}&3ky(ZFH zAB-uFKTGF3_@#_X0BNJ&GrA)g0Uox~LH`B10{}Srq?rC?hVtV5_aOQggKS4~!(ENh zHz4%W3Gi{c1L#H^_iEhne&a0{3gqj&Ptlv9U>q^ZIn7LqJUP20HByB0a+p32D;$V@s>;8 zmP0%tl1iSbBF?zmGkJLD7W*8e*nYnZ^oE2oz^zL_Wu{EZT&xE9ZM%`d-Vu2h^~2cC zd7rJwvVf%rF};GY?Y_o+8dOaG|#vk4$U?q^nhX3A_K<0A61|)FM{WDJQkFqF&p6el$aeen}bhmB-3UIxWsE z%E{r}q*C82a#{m)9(bV}w(y2pxzL=`Y^rASGnZL;;+;G6F`eZXaaEVSQxX7qWBne zlC0iYyFAt0hScj+%3E|6jlJK46Y@u1Im;XU4-RuI*RTW!KT zT`Zx0&SuwGyZ?Obh?trTZQgosI4DZBerG7muO$O$etYy-kn5k1*$XytU6flkwxu^> zu8lLNa-f`u`4GMZd{Y89zkl;Cr`VVI!r(sE+2asPc6>b9@7Ga^3Eq4TrjIPGQa zNakp{1ZS-^Qu0Y2mGMtQiE6lwB-fuTA2V6H}s$3Z5XEdCO)DfY!*6ty` z9(L~mi-bdV1KPLUJUJ~4K#N7fb5&<`%5=cN#&KD{DKDo$Lh|iO7Qgw$t&LgCrwYa3 zm*;wC8kK~XTZN|@Ufbf=R=hY@vh4O|z`OX2zfN(r2?DmlZIZ5%+wVr64y>~A{=gLs zUL&-}iPV3fpA1zo|Lk}Mn%^*YYIvIMAJe|KTzlsF9|PC8fC#$ZPU^ilaZ?4A!f6(Z z5y&0U@=xeVafnU||8gt;)aUsI4#JfuX5bFHzsvx5E%=<@nc`a4g&}LwrE4? zBo(*A;N)e|>_5+a>R)s4f1LXm0ycB|hO2^|@aE%`h|f}w42g*XEK(vLM#ZxFl_Y=_ zl%@&p9h-1?cfEfOGk-QrfT0;ByH>ZsPabZ|mJ0aFZ|!;A9rL~pj!K$C!d5geNpHo^ zKoR{(mh$$C#Vy%O9~B&pZyUD!W3>Kvt4?py5o)Pze3jUkZ(aBP`G~x`jgLH`VTShB zqPRR|Yay`CI`5YLJ;^G7t;B!G?Cy{$h2_y2WCmMn=mNd(`_C97*HF~oG~y7d*GciL4ayvO^B z99KK7c{xS2`-=IB%MGBbTZO)oTENn*I*ykzJY{-&>2$ zjn&|gDk3s72 zzs@KU5K-;4R06~Te*Ty$EvwrK?&c1!HFSwK54z;KAFRqNnx&EGO3ak`E8bW8;SjCo zvaqYgu8KOR_+>-BKe^_ElQVD4C>Ry>m}1PYq&K|H-SgUSAr=*|h!I-~g+|tqj6W__ zbfKVOts7#z&k%KfPY>yzaq~Pt&ym%O{LAi-d5fI-ko~AhSvko!Nvx!1B%^wxqsS`ebY7Uf9vD#@_b=0b`p6im)GshQ~V(rB-j9$6JTRLzY{? z41ni^Hq^dZC_}rbphSjFrisnHX$+&yh%V_yvu|dOgbdrzW}LUl(B{l$o%)92L;yT} zLuTG5y62SsWdc_@w3u;G1$Ck4HzTFd3Ac#p+?wduE1dG}iGH3ZGO97fHAAfz#FhXC zk*)VB^ivp5sEI2KigsCYT6&rAT$OR8-OjZ)X>(`g?Y!E9^TI2r)vu{ohEZ2QvCPtt z-@JIAtF4Hb8FI7gm-7H~@gK%_m81CeCix4kWL9qSBA?l|s10FQDuRb8BEbJV^*T== z`jPcABE^VarR+H8)tKsLxZ5pHuU)=m{}B2Gpj|bwLw*j^#$QMSphxDi=sVwSBUwLx zEO0X7xr;>z3GBnT2~TwyYyHBw9r)`$(w_l!=TDlq%E4?J&TSjy`wcoiddqn}V_r&| z%@?JOW*MH0VrP&(1u1AnyY`U`EO#<7q%ya~q?W_jSTCluIGLR7jXQ!1#SPk$@*Z+= z>_=X;m)eab6w}AfhoQ1-t?zhchj6nSl+JHVna(Wz7&WT<>bQMQvPi(Z*NvYqiNSv> zvZp)_pdFiU$+wj`*R_XHYAlLtI&95Pu47CIekarT#^z&e5yQ4VvT-w;G3{CW1sj^SUbv3q|4hHPHgy#hrbh zM*0wK!>g^xBHp%|{+-wYsgk=xs2^oYK003z4$T`yJ{!90T4*<~A0*tQh;eicriqw? z$#E)j(;bER6Z-IszJx|;kKD8?$*vROykQADDrR<)^@T}_q28649B4Ii>RAN|{6Vzz zl_Y!qel7aL9;NCLs=_)EQ^Hp^`^TdL-MMh*@{Vk$)2^e9qtHh4MT}%(ZY}@h9tfJ< zRXHW%eP*9@*r)5L2`_pOd6RAnb`x3UO%ueoICZOjERKLTuR9T;tT6s(ho$yYXk8kSk+RwFmQ3C0r%|^jZdQ!k`s& zzgk&TFno0o`kwCh$J+}=%B>%JbBs2Zc^#%Ywu5~;YS>89CF!?#yr!|AE}|Ao6jHtC zhbo7;D1CX2iWGodmVqAKNBVQq`h4`8CS}-sF#Bf7+@us@O^UQL`yu_rCBJQyb$xr-v#e6Q}PtMiB6RAg%(a6Ieb6$4%+Ihf32~r z*%C=BsP}d1CS1HOQa@@_BFU7fTtBT-l=`)CCv7WlG0|x;GpJJuxKWSf*ZRNecf-?;XQPqmz_>L$d_*tr?Pb)zTR?RM{dGYi%yM9 z{1kE)Qxq`baj*|Khu6>bQo>huq47h3%Mlt=<*Pk!y=4NYV};O-c!0KNh$lR*Dv&_XPT(W4WmVT^OAoe!2YXNkIHNp>13_WgaaYee-uwT+5_MryXB$Q-KsV1s|(pt;ME|=A-$Ol_$%-4?Htx+^RKL zzuLb|D?-zaoKcKO%#+L3d?%e5g16FtaY%%vwzR{|`;&C$wv1Cwq@3>=+pr9^V7$`} z%Y8Nyq&{0)yhx4Zf-LH!j5XfjUz+NO#cyt#OV)MZW^2C}7fT1uy3sboOG5gEXcKMs zZbv7Y61jn=@~T%75HA=#AE3Z}aU!=-5Xa;$LLdFE*`q^AXb=m)#KtG{6Fht-^blZq z>(saL&M$R?NQyICe_)LkjKUg}{3&i_bt7ywWaa<^2&;Y3u>Wh`ux{Pb_Z?!Rnp%>07;yiLgctCdOJS4AqO!lH*A`KgNB< z<)CS6M5Xks9sb#%Ltl#2>-rWS8&O;$Oz!2@`<3bAwDnh6u>#^z=F9P^t~TS&Z~9#M zWkOXsPCtvC@H>)MMu(I+6YC|ja*GfQq0XCS^n?TDmaV4a=o3k%`l-*kKp8JijU-K| z254hvA0?oR>crRE>I5m7D|I%9x_E^G+8>`<+3!8moX+R45(>D6RCG<|BVEhJmO8S( z0eZ~Q3}e-?PLiOWVKp_7b?0zOcX{7oJZLWx-IOZrmjdWFraqhLVf3LF?Lf^tzeg{9 zST}tV-jC#5dTde>m?P^psBwx{YXO^Q;Za$FB0!+QtBZ*-=Ark>nwFOyt4Cp@JlI%+ zQ|fc=xfmmN%6EQGJC$CSOcGx)fV(Wxw(fXwA?zFv_HX}Q2%5dMjiXEUcCsEFuob^@ zw4;2*j$3hKTSa4ctPc=s-5{?hjJmet3oYFE%W{mrB}umAKL#w3#JJ)szU#wd6ogm_ z>Y6`gkR@T?)xbY@e>DLoDDaHe>)Ui2mKRkVwCb)gVDFD2F@jY2nAl*qVey9W$()Rs z_O_=bFNmg3NM>SPt`+g>;jeT&Il$xUoBZ6UCgc{A_Cou5Nsa*bHb-R5=GSfhTl!5$ zO0OXsO7uUvPuoa4tlTXvcqMkQ!Dc2VfUQn zjk!Lb2#am1Kl=}L?Mz3ZlnDA-hsx17kIECM2@X_m1%oLt=*wxv)0H951-Oe10A*Yg zP2_8AW5bX!$Db%`&uQ!=rk2n<*LD1yy--kbsu>evxTKI&y@L;>Q6JeGas3L&?VI-D zx}nQK`Nf!fw$?U0sZ}i%v69rq#5^-f61*iclbO<+@FViONWWE-oz372)S+UP>R{h+n3Hme$#63fO^cQd;zWPR8N2WL9hl|6BJ zb6`P#!Jdw-cDoo?rcvbPfJu^=3MJ_f*FEgqhKx?<1@}h>O)2tSWUS(V18qx|4fCgf zN#-Bx|J0QG*>*c04K(Fth8j3%0r__k54PwB*Vm`D)*ArK z2_S_{-kb+0Vd&Aas9bZ;@dISH z*KQjYEmr*M#qE8^*|KsN3G@7wzFGHCLuK6@*CoBs7ceB zOLH6N_OIw4ae?E7(~3R0I9a^QtTlHpd!Ap&Bgff}H!d3$ekN5Q0ETOvvs7L8O%%5+ z)71}RRO#Aq7*>;7`< z_ha}YckM(AJsTL3dxk_RG9Y`aiTMLa( z_fI%mG>j4GlTz@}NAOfavzH+ECS}HLpMcgh-@$sfe)umQ@)!3d@cwz|E4wRt+$^@y z9&K*DC`GzcP};#YX6f30;;E4?aUl&{vF#T-vrBZ6EG6#37*{Mya){kiYkopq_l%`j z0Z&qwTU9G=xC&DxUP@WxB?M%L`D;W}XJ(Atr&9}*ubM5YNS=;1Lf^4W1Z=e~yKPJ5 zX=O4=)=iUPPH+8`3A*Y_VpR9D>5E@-b?&=Xy*VZ((L)jr0P&&s3}DQ9)Yzpuk@A1< zd3hPj-y;nmWaf)A-LHqLoN84p8*kSfbm~{SHkDo{Meqx&Zx&Ywv>zST%P4u1BW2JY z=ZL|=e6>0Nb*zm$VAS3rt zl_@Ef5AX0wz5~B5jkpigh;+>M)bHC_&j=?qGO0Q7zw6Ah;Q%mb`gk~R>ShtkDc9~|Cc5E%Y zNz-176keSj9q*IzupYfZP&vbLkG)NuxDbcntvCCS{1P?PJs(}K=(N5L#9dM|He;-L zeytj^A;dpvvFF^3>`HucJ5uHDImt{?Ccm$6Ub%Tnv0MB0-CX8*DMX+2iYF)vHD2eZ zb>oVgjL$ZpZhF>FEE>}CpIX&!Nhtb>uKadCeVBPJd$H}QmJ~(~k3UHwvYOk78Jy&0 ze?Sg0qnf#awR zfpQ@ImIrz8@SU?MH3*Sf$?5jUL`cm_MdZkGa zB2P8)aeM7{6q2F(0PXNmcPhszxx>{cYuk4)A37S`3uHO7EH5w!pCMs6>NFL3tafXJ~wAdc=_md zrWjn=67h4vVxr&^!PaHG6K3FA^yI3TYwoL2)tjn=c4rjTlu=q}*?hAFjrHIq#HiywU=qvh^8*GPZrdeR7B;9Yb@nG2<}h4E_^GtcP^iw z0rXAXvpiQ1{UzDVI>T(>&?xQ_R%gOg_DPpt6XLkDd4NPQKZJ2~dJ#3Z66@G_wr$1; z{%lg1n!vzh_jveqmmje|ecF$Q9bm`9!h6dyV{4Z6*?+X@x&-AUIviy-2t|m*5QO`_ zxT|nRJJgz+vpww)1v!<1ZsPN5TRt{NRPOPT5Z$lvBApl8cMk%np1k{ju(@4;@elz< z7K=J7m53=pn+4Iir&Z!_Ju%uR?DdzZn4nDzoDVa$B)}ZCF9Ke*HZ@jHnx3EQLy5+> z<$P+m$7WJzSzL(MJdCyEJEET++Z`61aGfa9Tt`Y}KQQ?&NTJp4G2^SOWCQUqYP=yy z`u=Pl4O7|^OH!2q(*Gs(21qx_0Ndc4EerDZZc8IF;gxjYN~mI>Q*s5906@(wU7==m z%&oreMWLT(#5#BKUf|`Cln&mX#7|Aw5!cTnFKCGC-dX@ka1dBlV__-+`YlkaCF0(?SDXxgVzoYvBmR zG58}ubWZ$>5XFD*i|?@-cfardItTFKQrZ|(QLJgBKH}NjMr(o;N9#Z$yh~C#K(kjNU^8}8zQ%V^cy`xW|3VvcaM0m zy*DKN^BCj-kM~yZFM$C|%zA)COuT>Zt?--nm{XHS+QP zhf8lNm6K9Pm*X9*Ev^suR{cEee~beKl3=`=n<;&}@)=qyr+5!K?jsA4r8gyw@9%0q zfQ$O;Y(_wenKHMnz>f0&q%N1;wMBfpY+Y_JrO;?AiCzwJkq@&oJp5q0^np#r%^5SE zcktaW{zt<6pR+%RCfekA+Sg|>Xu2b5m{7OJh>yyp%iBsr@DwMDHEN>VE1@**lKue;jv*$eolN(|ZYXUljs%`$2c5 zRgKEDA+f-hh+WJ zm{pV-3g1=*z$Ob}4O3RB1P#IR1;H7%QkYu%`=AEl;NQ#Q7tPSdW+f{!)Uyio^0ngm z)rhgA@u!8h>CFB!%wCm1$X%*nCi;RqYMOH{!^x!ri&> z)$M;zy>GMc;u^CYXfFo|cMJ{-tdn|hjY)zYb(l{#!k@%NI?g}M-(%G-4^ZFoH!cU$ z*pngfB>IVTJF$l7)GOGIp4hCG$IPt?0GE3KU~6Iz9D#FQ23TKdmmzUQe5%bn-L$b7e1A2f`u217+h#X_rgd9E_0U>eK~QP{7kl*$+Zr6gS&ldPV(N8~Bx3!k z?LfBvImAcn9D|gm&ASyNQ}BlGnYSEWI}%uNF7C5}I%pWGYna*lKDc)Ont;fB zsctawkh-cF(KKFT>LF`_#l`#hS0d1+&ByIcEo#vQXI$1#aI@^0)*e#pA9Q4Xs`V}( z8Q>-L&PXO+Bd&07ROljAts>Ful43uvamU0jg8nrXljGKy=P>pN0I%0?JOfxKMTDYj z>lc}J~3Evw>ur@7u(jeIQWW~4mk^IdF*ZD3XO@bjYM>b4pY?ih9d1kG&r?qx7l$;YS zpC@iP3Gnp%&-H!OBnIC5+pl2{s(@s6ZIf8&t)X6%K+|2w4Zyw#aa0yQ4Za^l3w_Y6 zO#0%vEuFw--D6;Os98k6H5b8iay4H^0-h{LB~a$^s0!3mv7o~PjEzox;0g1Ynm5}2 z_&`v26ExoN(9m&>@h#)UJMIqZM{7HMn((WaKrQiR-WG1U8`f)IQF*VWr02AfyE7V#}Rw1Qtnq;(yL~) ztnAD5?>d*GHmmFl&$#A^|K3g&+znsIeAUWC%!MLM}qNZ8}k6) z+6!q#o8Kaps%u?~+-0<*+;ZuWMcm=nHn3pTqryC2kOebRIU_`p* zGfO~_&+=&6{_<#5#mM6XZEA2EQp4;8_}7!vsr-zrzOf>i#(;^Yxta3mcJ!*s;b$#n zmBzLvFPfBPmyV(gbIje_I(`$wOV%17H%*WGx2E)UvehOcTx-!7*JWWZ1KXg9nT1D7~(Ww;=5Z2q0T|r+m9qVhNfAk2?O9)e8^U-i955)T!jc3L!q+D-UOiDqJo7RU)i7p~v6kD~kO74`@!B z)3+Jef}%WMXXv)a@F~8AQK-rHXh1ysLGIL4qmZo~k#NC@+0Mi#Dp$|1icG+Rh8is^G}pRsmG8gXu0!eE*?{^WdI zNDS?MtM>v%-djZ7sxkuzk6n|kzl=Ccn z6%|>01aUve=f9MD3LwMuwG*CoFHUOlwfpjnkj>OBW;gV8 zf=jj)#?*%&JhQf@SrEJR%jW>HT4e&~l*S*yRuw3`0bM0xWS-DE8Us27NMQ5H6DZDX zJo%c%e$MBIm=`v#(JJR(D-4hF{V(#~JD%7T?p}Wx1*wk8LJB59-P`s z@JXZkrn-Npa-#i^S@q81unF@I zHL92k)FgqooqS!p^+inDeQqsr1jt`I9}ruVJ+PFPTeIYy4rqWP6lyVm;M`&|GzKE} zw7XWSY$vBzEJbrQD0~hSR!DL!9s6Jqc!pn!G|BEvLgbUvZq^WPk=vrm9bCGM8#3~H z&sMx^9gq?0#mX2Q5&;&)lgGraO)!CNhXvj03kwJPUsbL&=}0#CE>%5Fozq*a%X*=(9HUG>E<)*vziliu!4|nHMkj%WqxS zOUG3>V(qO$#Z-PPpWS*pWnDJRzu27X_Ng)%d3pn|DJxjko(b9OpQRK&DrG$K3<{Bn zYfsr8PAm#K3efRgfbs4N(c&96UQiK`pl3>Am&$Gzoy}_c4CPl8mY`qAOo$lc$=CQM zUU@u_QQP4*a?e60r`({N%K-!Bdo4% zv7~cZPapmW$^`OP?OhbY?Eu`J9`x6*F$(x_fG9?jBOtzTsJTy4ULeI`2vL~E?IKa2 zfM~$B1!|ajuT^nDxO=$#^(4`ygqV2@azzLQMAaHfuWlTeQ&Rmm>2EuX&n}9`7qx=9 zo?J*w9?mOU>iXbVkN^adzRRfGzkX907uKpCYdu~WZ!~(IEoNP{BSq+4O18Q!gvT*c zlx{+hvv0?^j-^Eh83OyPQ;=$k>}fL9u;D8$(2Rj~(Hn&Tdsw7KvWfWmAS(%5LgV zGl2*u9fQDN9;uP7<^%2o-{o&_tm^imTwdY4y#9uOZN&gi5{rfCX2>!4Qm&3-`Jc_dl*oX1Ca&8TG z$Tb)#e>dJYe`KCg_LcpUcp_!GSX@as)$UgQxxYtzJj5sjsEI;R>uGGi zub7=)PZO$8OsT}$2c9lw{H^ebPv04UZp;M=_H4QtMKF_1Y(0H6LwYRe3)Xfbu4?PI zuGt|aKdw8L#Bm;%{99Z)EC9#Zp9@nH2ZP@9A_+VRj+4N}HHm|ZGyBm9gDJ4KTW7Gg zks6MPx_Biz-7ijGEjsQT+4yd9EJSWG!c?H}MJpIUNM&DI?E{pR*`ke2r&N1GeeCne zs|$dyz2LQ^w?P8ZFzbzJdJ4T%Hz{|PbK@>kb85@-qau> zwVjfoX(cLN3ybG|FjXhh%#a_>WEYpF24oZ9= z(0!Pq{Q01&urrb#Kzk&Hk7+q2ZtJ9Ln=t1(6@8yv&IQ860`_W<3U4cV_L@F7FD9e|87-%3&ZLK2YgVW}!{+lE z`!M3~-(}q9ZVoUlMrKqPOB1|F+qh@>Wm2Ol`;|_MC3_y3e5ShhW<)7X$qsol>{>w1 z*;IF$QIfu^#QLH`Fau(C^G3PJ@&3S56%IJHA_#UI0XePUKYR?0`uGY{#DUJVRm_Ph z9CFL2Q;+Y0Ts+@-F+&Y^@(?(A2be)9L+#U`fr?~|trUWH|6-NEB1z(%z+E}}K)Ah- z0>;E3$%cx+W-?TRnMRQz8s#C0(J2WD%G|Ls2UW-fpbRvPo4jC9YneIyrNF8?+`J34 z4Wv>7Uh8MiTS+(LgKB^3&QBn6i0F-%(;E?gg!3ke4%c2Wg+JG;VgF1r;xfH|owlOy z1h|W+T;vmFXA9ZO7L<7}D=NV+D(UoS#T7E%mC;h!IyU6vXJBNX4{uTyOYTZZIAvow zxd@U{2e&<2)^AzCIRjljskD#05$!Koh?(>Vt={5FHbLGboNnd32zaT!)wl_UFpc+{ zS`{{nlPbZF^K17pqTHtCv^qb4t{@~=fB=XbLnHvb@gMFam(~>XDuB`v3vS-V2P^x4 z=2MfOS$-80G^etD$invUpyj@2t(Cz=*L+Bc04V!_-7(BP=?Wk@(BsKI5y`Gwb%r&7 zPx;!g!y@7UXJOu~QgKovQd3{7qPH`Wk@q8_DdMT->XECjrR){&o`3w%&F=D!QVmdJ zaCpd(C`+NU9nfK~;3G5kf$ZGRPyNn&?K7`H}P&v+EiQh+*qz#6*UHS`)D4Mma>lgz5Qln<@`_C)^xr0px+K zgr{HtSm%*T0K)JR8Cc<`{u#Qzm2nDnVTzBHEh$>hTVK3?0o?Ou6i*)m#B(L>{@OO(Kid@;l#Ew_(xm4&Y~ z&IkvaBLJDy{Z>C8P3C4#?)k^_Dofq|c zcz`8PI|KatK)l;MB`HUsBm5+k^_eI8smxJepY30oIes9I&VFuvct^f)M%%}Pt2G_8 zo$$(TtsGJTjs#m9n&0lg;-cl3ur5x_t|e&~xghXucBz*cjK4D_8c<0h?$;%u~U zibPsXihi13vgK`B=P=q7t?j7;pBXUduY>EO7TDYgE^ARs_6>G;q0jpKD)hgw4uQl6 zobwu63L`5Iy0-^*CO8l?(PeG9)!sQbu0s7AnNf-^Uv%o5%Qb5llnbaleJfPXx)H?Z zideph2kVZwrqZ3X>ZMDu3kmlq+v!_E(q+K}+lanay`LkF2r9HCk)m{w^+S+v7P{_W ztls@I)}+&bo|Yg+Iafw(wxZluGugHDhd0P2JO5VS#jWW?YUl27T+|=P4Jhz{34bJR zWnJ-Pn~4@U;OD1n${dGMfAqhP4j}hbSZ3zkr>|CQbi76Qohjh#PHRidwW58;qiA0} z2kZlTY(TnBS_*fG1Gez3??RMd`eion{#E@K1Z~2yD^62+CWTG6$=M%!53XSN_N4vxPCyuAis4knO z#vSN`cv|UUL!zguTDRSOo?vgEl#X&#x?-KEO!{QYWC;19mxDeHfFzo*sGK|Xxv;Ub+GB+&_@8t6&t=M=9(*A0aY zL#)qX3u*jt(+A{Of1*&c_Yj{0vp3LQr9CM3G>(P&)8QTH#>?p&@Zfve22{bVZW}Z_ zwl>5pl(?JUgHtmIJ+mTl2Hg{mPj6S_n4 zw=rKV_RY4sh&CwL#HMymGPY(;R#T67wQ>?F1Bw+AbGIqsb#@ctX}1nbd3bvVd^`D; zY-o2;y6Fw?B`~T6YK0oNYdMdrN0u82Y2LC~@KZt?I_(FVMNF7*hKM-?`ZC%nU(#s> z@Rus|NLZHm+blk*l8)k}sldyC$@n}nGjF{pefq9sLsJ5cYsYh@H*rgQkvE_irqC>d zr7WwF9E{b#V{brRFA1LA)6RHoO^F(~Kblv1SZg!#o?vNWj3}eT%IQ}F>I=)e% zTyCt#F+DYQxJP_G5y*U>F|4ZCP4&^m+UhM<(5>dcz6SX!S6(`5MMicfHh$GdJAp6& zOTa*1I1_0ykbvzZk*dB<5UB$>%oXKVp<+pQestGUeJHtNEM_pBta=-5_?xHJ7zYXh z!>OCX{$ynMBE}&2Kt?KZ0MBDj)dVHxb0+J#A2*!jo$ZtvNTJwzy0I^G$99;iY73~< zl=qutxzk~O!dm7|jZ>O*^1{V!GCFKtVEW!)oV7$vXgl$mrCROcG}Kji{(2xWieKSA z9>0a#U4g#v0l&2lXHaEO?;TVSBMem(V(S)e!w5(^o|iLithJ2^WCPzP5zqCvvVzT< z$0Yfb5zmO%eO!K`b4wJ1{PO^bsYOJ@+0Oog1~5DSx0x9_qr2%~(P#sU1~CMU{D${x z`Wrk+37iU*oQi&2_poLLo?+HaM4{e>f*zT62;dda@Nl-o@&Z?~UCvbcg#-{i9stgg4c_HhBR`A12sj1Ck#Ako?C7~2ykk!cfZ{@7aYFxsN-SjC7u+p+xc!k!SlIE#!VR z1$YbVF=oxfi{k0s$=6s`Cd$uOR|_b9M`v76e!HibQp(sCdh?}TVtGya>WlNQct7Z0 z;9Nw=&*Ov8VHYDEuhs)cjPA}~`acU;h4GdCZT@_ZvtwufyDnlSx*B>XiY=RPUy4-*qt5AG-w#7Eu@RnTwupdqzp!>E7m27{+YvEDLQ3 z6r#7KQCf4g?vBM<89MSSqzQ`Zik)CQ-CpqER+)rN9PYY4maQ@bOZ&p;cNsY+u;@&& z7MQng)?8ui&nP11HAA3IZ2og$X<~%^4~!+}dZk~QfW-K{dgFL<0N#krk+Em&bf#bI z8Y{KQ&Y;>%9=4`X@v*IK;gK1AAgx0Hb(qrC4`XT0y_kCw$W>RcHI(vn86gqa{a$wPiO9(EL z^5=aeKn`1+ZvS?|c5uWg^?#e9rg`J5ucPj7$qLGzvGt9^fH`xqRYr-(F-L57)2t~e zXCme`DSjZ!L^wYpexRjoH?2A8FRVc) z|D+dct~TMvP5G6~R|)oKh14&1#0H5?)g#>l@N)JmqoAl=mo)%fS}|kk6~S#S77HI zlBe>CMUO>P5Q6Zz58rs{6zOVIqsVL>qRF6*oySAISimv3K0!MQDV8xSmlKjqmeE*xu zQ$iuJAN4PW*KS7t=&#dN;bTJ#aITir-lV(%{6^nA5P6Of!7iD=sT+ zc~-96!sSnW7CX;|Q{{CP$3U4MCQW0(a|L!r&0jQEH!{R!(WJUTomo46XUA6zqLQ1| z-F%PLQd+FLyz{*eAn2z*-K#R2ATgO6J2&>CqZUg))l^pTsoGM;eD9iwx<5+!1$btP zmF>TmmyxVG`uy4wsk<&_V47sa8p+(dgIPZ^*E5D1 zf7Ev#NyG(=YY+LvxS9P@>lNescu@Cuxk?Bc2IcXca3-}Iae)efVcwA)$?Cr5`%?_& zTsV2_m9aMNgR&|Kr0}eDF&<@SOFI*5NNln1P8Hh2yT;ZoT<%3{i-=@}=;niPmm6*T zBOIy0T1_d6Zd#Ybk0hP|B=M1QxY0ETgx~)87w>IpzA=SwVZB@Xgo`>88z4&IB+E5H{it{T+qU1cYJS{t zsT<9mXQLY$qtjuAw@?bVq9$YjgL&lS;b;N^4HBQ!&Zaa@D<@0w@sN%Xf|U^TLA%Bj z`fI(L^VT+OM6WXgh+i44-GI=)J;AYA228J&Ylv@DK1dbW>5ND6@J@1E zxU(3nS!E`mVc+i3Dt@E%W9hy5M=1k#O%L(Du451(_r=ZTA4nJbzqw9|;$w;=AHp=X zg5QJE5P0%5iWyXJF+gHzgSKX*?ztP&%0l&-Q!+LZc$=gQ>yFDQ zb9>eVt?q&QN6{CA=<)`ZOA*e{3th*_o2OXX*r5=s0buP4*b6RgPTGr?0mX^uGs@;T zKiiqjUncS}=>}_Et1rc_`rKi;7qc;0I-SQz?)7}Z%}BCQBDN7IlmHPaNj;+rQ1ZTe zGQ_Ev8xH?Kbn43(1qo0x#V1Dn)))zBzslxmrwc%I9R}F58fp10Re=1~lDcUt*?bX% z7Kin5c@AjIFR(L|E)wqzEw9h6`nst03Ok`0*{J4stf7SL!dk^Y=T6iH(>tFkXTtwZn1rvM@GSldIUTl&ZKOrytJn_#!pZjEUKBnd*Hw_N8Kuc11OFqU-2UuCn>NxMqci zJ8P~E{g{%AzlEmQWe`ifNkAi#TF37B-l_@t znNYRbhbGb#nU7M2J#UnjO%t;B&*+|Hqu0yWwtyyn#K&o`zK62Vi`b>!!62b2D@)%y ztFE8|stj|r3UWOJj+Os3w33$%Fb2 z!R$?ZC#@oFrZMV}cJfa}2T*uOC$P~mV6P=-@8NV)aLa{E$L$W)yBZ_nl{*2+62C_! zN~rrMt@wl_azA{Z+DwPGIKvVOfFmc&(=8w-JY&xzv}%x}5;ibHnkX-BPShs3zNja0 z_l9*XmBbiHziJ(532WTB+AQQgm7E7J7kelMLnAa6Zjbo)80ycw4$^i{Rdl21jP`C{ z{v)yoZWLC!hFn~&puVm&qRyAdqn~`xP8V67-cZAR?oBUqdNK2=Y^$>?sxSsH7^nv5 zVK5F!ii7Oa=sqkx*5+ZYP5bB`r}~KV=>8vNA<&3{c%=6(H{ZhrZCTIV^S$>pm{V8g zmj%%|2EMTkQ(28NCAMfrA#HJO;^Q~7I7+b1jZIDF5667B?jvQB@imjevAR2&Y|^9o zDZwJ)MJt+1&I)8WC@zZS9pF}K(iQ8Ig>{luN0IFeIfU$$+8nvGDCaaT8Zai1G*U37Ns)A$3kY0asX({@0=@!)K<*7?aVm`ltS6}oluU^k@! zD%qzR=9jrlkJ$wvM&WfFC`74@%~~jNyXOhwP0qXFi;$2dU;pdeA7-jA_kVy(pom>Z zQ1JDx*V!Z29I^w79jMoPO?FU}y9nwg<8CCS-=Xz9uEw$42;-ClqNHsm{h)W;v62$Q z&pV8)_m8SesKoQ$C3-kacTs?v8ttL{^o*{&^MWJaIB8Pl1BQ-@xuY&J*`)FJ>&A{T zZ7C6FxrBLc`y^OqgJA)#jP&_JrU(gfwIBp#9$3356RR|TSO);uzP1+{wV-;OA%4s>1 zDtFO-n`II`*saRrzKk|3I4q9{ca0-JXofXIdFk@)$%*9D!Z|a*c0}$5t!G_l(dXAG z!P_Kxzt!}$3YD4~HDym&Xk&vyiG5`*oOIT#c~KIDXurs}y7XwovErt}z0n!PfF_X_ z>d5u^Ua!TE1Ji>eW!(xbzZ<-*A(L9Ye#^s*dZ+1n?`~^B_KY~`*6OG#od6t*Y3jYO zA^cA?HQ})C6>%PQ0%(04dAbhhDuE3=+lY7uEMZ9Qn=qao5iuSGvuoISG_Y`ItUftO z5`Ig$FaE6B(29@aKv(KE%Oe!RwH|Mx05=XI7_{(>H2V`Y6h6c%TCP%~f5cyy$XkD> zy7tkuW5#Irr5RYGE#;MXWC=S`>^1Qwbu(2~Aa+kq*yK+sS=)d(eLs&;j`%k|mZX>* zg&4)P8^QOQkjs#HAlM4EDdeftS;WX(lG_^x+ScN$Ndw1+NYBefa+Bp4g~Q{ym5K{$ zcJ0LG-Uc~$O#`ZwKGAjKm5n5~@jlt0!{21TvN?K#Zm1E`H<|RX(PH*!FoR#Z4AW?3 z!mhg)SY?ocNMmlXI?70Y<8}Ps;9~dsr`l%LCi=L=Rx;<_vgNQp8qtO?K1^PRHKV7$ zf;bh=1y zy`i}vnOA)V*(H_ke0eoV!TYa?v9+b|7(G}z#@08{M8uhd*1l*=X;|IxfLur9R^2Nv z8P;;c?eg2J4dzvG(R=u$Mt9#t3H4j?&j%^3i1xBf657%^yYfd`8odBg;*|H?Kv(~J zT{P<5Skc-HXLA>#O!i+<(ZFq+_6tvWl{onEufSkuWC43cwhQ$x@y@(8LAB94LD7BC zpq|WXY&BAprt&3z1_jVX>V+ z+F=j#zqX$~Za~z2)xnCAF8RHiYc#*+%;6>^0n}OFr2&!!E77c`Z>IdpbTLq|TtXt> zuMiodeY5HwqxAQEbgW8yM)HpY;!~HNIeyA#G2WiI9DU(%UKvf{fNIh{iH9 z1Z+QXpTZqNh8}Pn@|)E+*;A}-^U9n-2Z*+>{hI+f}K-|ws^VweD>2rusp2o^Lw93Vz)Z@K^*cRRz@y3E9v&f z?FZRcR*!T8g8IKveLz*b^Sylm3E1TwyLr#_tfi8JeA7>|8?f`&OWyh&$hWgU0LQeO zgSi!8qJr7RVu3t+9_VryOQ5O@(5PGkeZ)79*BfYN@QC-cA|En23i#mO8FBqb#1e3* zv)ti8*@%-gxJ4KATXej@#-W{sH7h1?16vqKLXG!UMsmy4lKzQyg}m& zi}@7xcu+aIv=4SI-Ncd8*t;#3(3Z9E0a!{7w?yxC_yK-+=ka5KxAv(ro3{SpRWn(M zGEK8G)@h%c>{T#E4uFUl;ot|ycdOWz4hL*^e);}7IYcumV?cYVgU7bReX<*XJnLzx zz!r`>{2aR*ZVELqr%~t1r)DeT;{Z0iJA$2X2hl8%72lEOXS6A7+wJXkY4l%I=-C4* zw9XmfhV%KFTHn$e-a@AB7UkHV>iN0zo5a&=b{~&!djOeTMq|pGm18wSgS62c62b(p zB`w2RiX7~(f-Z~*XgrESZP|qvgy@Z`<6TUFxmZ6^L>^))i|@4?M+n(h9L6s(#BTnw z_V4!dBZmSqNyS45HUyAxd3OuM=B%w)Uow;ja)SJdkJ`;HnHB&EL}|A9(`n%aG-02Y zRzQl?71ku*Nvwl7EQn6L?jKTr^D9KB;L2yi8Y9Q_5JsQwG$+p!>hn`m@CqYHkqZ3Pzke-`(tEjv%l8ut=v+(LniSp;poZs^8k|cnM>KcC|Y2c1>z&%mT{W{Pu4{mml0~Q}&!1D#jRB~ni0W5>VHSlkf97ud=aLaef8Cg;T zD+4m(Ho5!ne#jLfQU)|;p^;!fYz1~c*<-;1DA8$ty!K85dUn({h3y33-BZz2cp`GE z(y5m);)nYz(^!WzFTUY(EOWl4>s{pO`t5`akBrlRAZ$VkkP)(rr@}#r^Ku1zp5#+% z(!V5@!aqr4(3Tqjf(vK-bY1Y@kYE4s<^T#iIcLQ8s)Zd6Fy{Gc6A$7>u-!)8tpK;x znL+eP`CDTQKy)L^h-xaXA+^#yE#N{_2oV2z)62LYMwCi7mnlTJxX)p!?Ixol8qeK2obYtuHgpfE?Fg z92TY821vjF^NkfaQHBJ;I;r*odD&)}c9Ndq1$6-V;mWET7K+HtKx_TYJS0N?&tDJ3 z#;na$qdY@z$;mBmAcM#nP|N_YZ_|k{JsQ0kBtQdYG$Z#g^CohnhnRpJ=&_u|7d;Ne z^SA&I4}(voRa~YW8#@A?p_^bp3|CZC2J8Z)e+>^hCpbRtuOdDz@cET8!4#2*+267gFbiN;M z)eLtry~FtP|M>9%nGm#tXZOL^e@|ok--ed_yZQ0(XV(5F*Yf`dv5xDS|4b46u0j3!>}>^ebzZzDFcZp@JNk_-8$9MN9;^nKw8oYnua0+xOjH{zv?(;VUqaTB~-~FBu%NAGX_j zH~;wbtL2X$4bO0Knk`xHJjk&t>im5D;D!IYb@5=to>rKBR9FQI0WaJV>Y;a$o!W zAr`LhsAMWV`rhDeDzoC(<>%ss9QjEWwi4=Cjs#X|gT~yx972ia?CGc_5IVR{j((Nw z)u!HzHGuBPhLp@?m93jEhjuuA>kgi+12Sn?mN7|T9`9s%UDz%m$*dhvBn+$<&fD`! zlhHrwJ+ZIX9j0E?U6IeE9ZZ)sica{Wk}J16vKm;9Vt8n@@vF8Q)haas!rN(4QriWv}nZfeS%uSt4Ql8!uVp>d# zbi)VAT?qG1QDq|1YN)~11!iOGf^r{zKOfn3TJF8b@+3omvN!t&;>+5kSqI>%tkt5l zv&Qv)C(cLei7+>I8-&)o(_hN}d=93^EM+;f8dl%vH`Y9NC8))D!M-m2)R8=!CWlrJswZ;5Va=zgF1Xkyt-psV%=3ip)rTIv$f;@6FUrW zngrmf=ga}Kc#w2)#7v2D)6Msk+0553(Pg*23E(cj2snmYTVbV}Vt*7a^$9LV7XUS} z)JR4|>#_Oet2i+j7r;G^D{tOdWZw#eP6?xfOrD4uQ}br2c;1OTJ(J4cGjUrt&2h$jz$j%4$SxCxafH*i@h7G$Ana{)s1Xe8*fzr9o%O zI;|DltK0rMinsd(S?D5OvVYeaXf~FJR0LS}dr5=_g9@q^_UQ1pvgy^m8G^J<85;5B z|I;gakd(99KV$ZGNC`pbC}SW13WV4Qlcon#tI-j z8jq#eLpoS2zlt?L4{Sjdyz%6wN7J%N;bI$J6aB*MX}7_F7gp&XFD&QrYH*xqsLwqK zW2$Vj(?=MJM|?G6xa&h8CUpE@w+Q5{jlYno-yQcmPGPlQjB*zBLu=nU6`rC?9VARn zCW2&tm-CW8{=?4aaW4qaqwrW#QEssKCmKA>?q?VB42bWJjMrWH{9Np{hM<6jj6mq5 zR7iatf%t>{R;$eIPcapHJ19Tk+dD2IN%|#ZcXPUMlY-JYpnhiv{?{rw^?+KaQ54*J z#v7g~Fq5!gwN007eEhZQ)y1uLvvZeL4LeSQjFSLLuA#UIrcFcL5Czyt*~hy8D6TT& z@&4X#I*7LQSzzef9t;~cKf6uLihrvkb#vzJBT?9@dcXL$kkZjXmF@==-lqc9E<0R{ z&%^Rbmwi4x#O=iG&pd(Gn##*0=gH#f1h?c5W+V#htF+-N96J z&&vbEEW|KZA3eE$kDV=ZFomU|zuwaQxwyf}b5}pazxr z!0DK>x}#F>97uX=3YjPAkY?*FB|5}DWUo~29Fj8x3e{?4) zrFHRZUV~jAL>4u@`a6(a{xMroTjR@za6VG#8G&9h-%WV#Em4@{`$u3zC~lX6hUEUV$D-pH4Ga_>g0VH1e48<&g1D4AN#2re=% zaXR~vi1fI#`A$`X0xE+U=_hDNu$`rtytybgq zl3d6eJ?k8DE-As0R@u7VaUsS7bDBBO#v{FU3VLuc`+ zwQsJAHoz|*oH@vi?}w9SR?xzClaLMmbgc5Sy1^!?Og`A&zim+7tDoewVplbB62=6O zNJ`5t69)j8rhQECx8|C$knFAC%)<2){%Rxah>pGyZuQK?D^^gn!?!-!fL-IEvdPCQ z1r>9>VrKLe7I77JAqFv9RHom~?kXsn-V4z_@1*QvpEgqGI_$AtY>gLYT*DGC{9qLfFw) zQ4kK^IU`Sg9&?{g=zCE!-+o4ALL9xd1GZVARO*lV&pnc#t~%2gre9-|Q#2a?+h!o2HJx zv$J^G>eFf+W;CKzlsCDF$xQlVOkzF#>q!jXH;$$Qj5xf|hw$~#Z}2|y?-bvwgcw2f3-QSP9s2$>)n!k;+bX{|iCe)NeZG1?-o4cuQJ|moSTgJ^ zbFoHqcJs~D_2DmdIDlNvO__8hNqiJ~VxDiJ@~bgxht@2d0MOKM{=WDPiWG==Lr3m( zd*PKY(0mJ;!}@H}H{fopaIRXo4&Ri6fC6+s$I zzD<(Kj1(ygXn4J#eM3 zV~&98=6;{wMBT&Qlx!*$7PUVPzxv%$V^Sv0$Wo&^aYUN{as20?>ngEXS}J&=p5JUa zGz3f=Rt7IL8-K`%8zgIs4<7>u!R!`==8294JvERg&a$gSP+axY%o~B{*O5~}k0Vy> ztz@)&5fZg(?CP}j%Hnc&(Je-J@t<3%cIL*~tl|D)fw$o)NTFE^ZZ2He$s0$k2jxW;K1B zn!AvVfWqH$AFR${bs~_w)T=BYCwa<1-SU<#1SkzfSpZJc(|KM$W6x;!r^G4#dXHsK zk2PQ9le%z`F;+uEe{p8~VlG2R;;d!Q?Ti~flx zY~Po3!c%UFrW^Z;Yb|!p?&aqAVsv$F_Bmc{Z41IFDxad5xXTj8;^j9VL0bKRT%D zI#}ay<3eU^eeD7(Yhi6mosL^Hlb0=Eb~>EtVSn-Faq%C2i$@LFB~m!0`Jv$j>y<04 z%^$%F>VL=N-Ig@>lTkqrzi~h2QIa@LsIP60RVojvAqR-r$v*^Jik6aR- z7*fBVop&WoDMjvk4%h+Uz1&#sAx;B(l1LJgqJ6WcDc<;k_}!$N#i))U^k#`<zG+l*YoU>9#OD{y+&T9=TWOmoG-kkr|k@Y zMsuKJxE4>`LEBJZQ^KJ(40aFU?+vC*QcDHxdHStnLNq`S1#dJlkrVm^|?c>G@Otear& zk!P27jU?HBv7ARSL555XhR0j`+c#fx0KNF8xS4@@c8fDkpjxT z^S39)jM}h6>5B081b<$158!MdSsWRaO-#7GSPE&7J8v--Fn9Iw{PwNSWrFd?T9$9;l6m;oLzx9w`!h7mcdJ^(6W5r6xlMmYB$L_zMQS7C?>`~Wm zpAlWHNLG(u_fB&P{`S{o!(H(Vkx`;4!B9ga>B^>sM%(CFY`>dg^HBtMXW@A3!yWA- z{ddyiAqKzpspnR7oqK}AmICe*#mZ~JMy2Q1!{MD$rGJ5UE?#EuZfGr~Ui@+)1t|n@ zbYDmLz;o=e;;USvUg5R4rd+4@vBe;PMvTXGc5CJK!QtXxkS&L{Oo3NdS1oGZP4_pB zd6X~$5|i^uatlfjz_eZOnYnUqxEP*(cbnBF7#UG--EIfuhx54rm{U_%^QpHy(le}0 zfm=ES6|yI-sDqwgWy(ubeI`$IYyha_=^y%w=~3#M`n1RE*sogtKmZKP+*tpq3GV%r zmKV%WV`6M&VR5(d7{CFS7Eo~qrVCron45OHlE36}iDWqA4z~Oo+yJQiTKEGKhNqSH z4Bq(sg@4R&GIP%`R8TUZf_k2{mZp#Ju{Ulw{3YRP{5-ZJ zlvQ20zx8OXc)fLf@7_v^#{AHNypfe^(#%q{1+g?q;Yg*PIFc|s=TBP5a%Uq5h8s5m zs&tAXcYvZ#KRG(UKUaxL0E~s^lGIJ%Ypp%w10Vd>rn?@ymM(g7q|9$H1{hPcl#M^2 zTmyORe~J!w z9(i5+a4Nr;@grHb4CmwWhi1^W>$;knK11Ux4yDv6Y;ew$9{%|DUvB`n`SCJHnV5a+ zzzD`4n@zF3PnWh%)b2}@)n?8gt9bOF&O+kz_#dlJ^(tJc{jE>2e1vl#iofD^GlbDm zG>Jn7y1&{!XX+5AF5v06|MKT-hw6mH_URk0SZJRS@#av?wXbmU&T0QI-;#ZcZOE;s z86=8A#9x6%!GEj5eu(G|n{%Ec;}tj_{#c({>_UyF{IR<0dX3CU=A$Q^U-cz`Y1XRO zuix_pfJDY2gj7~tunAC|Yk zYHY{lC*R}7jP86z(}Q;kf6x0_2V(nGh8t@irL+IO+|sKR*sRUi*|g&{39)WENeO7& zp9Gk46{Y*7tBJ;c*Zcka@LfUmA(sA?Ozyv#4``QISDA1Hzp$A;nMT&H9a}Hdcj{9vGZ2~lF-HkuUcvKg zxHU1I6a0L_E{!a2Uj)saIb6{3}$(XaeYkUsW z6qXTg%XDglgJY1)+M;WB0?(1pc=fr)GM>D!t&+N+i4|OZ-m4sQOrTe_chM&RctJIm zaT(P4n0RaJO%q>|&qe8ga1+L#Xrtn49ng7-3OPhGQ0R)#k!%9u-D}1dZO+cF@B4+W zuN{E;xZ4h+L|bw1o0pufMzCgcqne%8{SL8x6k%NcuMdzL@w!-+#(2ef(|LN?UGhfZ>a33xQKOue}|I(u# z9jSa}zHy~=H_LSLcPnW|?jz1~u9^o}Yi>r1{suo&Pd@mvb^yguwm zLRHU^g%&TPWy5Ib|=n9`{%tUG4}9g(^WrshZ;)_V#0mobB3ZttNPE)>&%_Gli?T@z%0NYcP3y3 zSnv4$VMXRjVgJhWtYiBj#J#h*M)h_<;WF0Sxu{HRC~qbkPFE@TXf$O8SXYGq7kBR+ z)#SDX`s%hF3m_X6DZ&;ME1*hudta+ zReUUsT=wnT*d11pMVLb@9#I_aKdZi+J+@y3-6uB8gO|^@Srd;Ud>*zzj|)8Rkt(m1 zVmD_nkF>QLKvGlFAG4zkP4au}rMS!aL8;L(&@DO6Oih%KWZg8fcIK0~^XD1V!Y58- zxI!sM2Q5G@hFVobWdsbTC{1MMo??pW)^L1Bjv(*SFIBSMpBA-1aX*C<`_k`uZq`Hd z?TSbXrJE6HH8E7|%S~$H29Ot`<*1pv(W394>gQ%EM2jjvDlu^TjcH2aE#yY?xAL0= z$@}jWyYI3qHu>0&w8hj=>h5LVp-k;FCPAub>#N7%hlI`+pI|&w?*DZ4$dNWf)lRi= z1q0GCC&OG_j~d4SGuu<9#Y-xPxbR)!2e*#QEXl>a2M$LRf*rU(;Qs zM|SW(Qa*a}WJRi-+kyz!Gs06s+8&RGh%*O- z5*$mNNP_Mg*P6&U%&1lW+s_I>{y&TvH*U;G%GOdeY!SMBlcu z+x@vuuwvY&?V8(;xw$t|RrM_f;*@gVKK2ZpgoeVumh6%po1eVAS#>%L+shJC{_@H6 z`PA&pwad#<8D5{M5a+w?KIL)lSgKdh%4>?;@|fmJs_laowB5xy!jusSY}9S`%M?-+ z%z)bvQr><+Ia$~Er6)BswM@N#nAW&%&2J5ohx;>?g{|xQ(yXScE3t8#)|}LzT89&s zlaYLwTBV8Ziyua^940?@%nUEz6;tT;UXEGQuoFn8K}JQk={Aoy(xGN%7CX3V)2Z;6 z3J(zTudeC~maWJ)%%Ya@I(@nv*{C+ba@G6qJ+c^e@Kt~ow4K^KoY^vsGmcoYlL zP~R}JlL6bgjhCm9qv)J+r|{5IiP^|*b(`Ue$ZoVN`w(KX_Y{vMfz9<3KLckGJ@F?Y1nl$iAuzw?^P1y5kIzpS}c>i#(@qe3gB?j9-k zaMtSu=86WonDq_G~Sk@RUjetE$1bWY>5zOX^0%2 zy>hNXFZ6VU4oV>uyx^BjV5k4%X6Jf)!I7E~g*DQlLS`mAIQ6<;Xoa`LKb4Iv`)zPW z?ilYEkg<=YM#syCpU5297Zbbyf%dvGJ2AJw)GT?#M8Qyk?nCoalNZ|g7-d(AFTKAqZGyl_PSsZ#ug)TYrD~60Qfyv8!wmZB=sgJzX2(}< z80g-E97^T$S3%053GcFo0qEi+C)>IAmo-V6ax&-T-Z)qjYL(K!%iR>dQ6B|}49N(c zb#!63e-GO^cLw=Q^yBw?BXO&#WV218B5Q6<^S&>hH7_m$i6%>`4vJ2K-zBZ?h-*e! zn;?5uB`FU~q*&u_6VLp6pjhB!3y_XAzb!4^%D4;ea&Q+|U2?)XD`h0^7*cGV!*P8~ zCIy@k`rrQUbOm(QyPQ_n;xfA0K(;YJ^bgDGkMT}=Vd-pL2Sl%~(+2u{H*1R!Do)P^ z1OE6{ItJYCz$SBGZJn*Be$#p=~_QUAQh>eZ*)|2bBxR}b#}=P0dS zJ%9R#y)J^#jzX-tb#3(x0cv><{AbN;{CCj-ib!rXy|Cuw=0D%xJxpnuxW`!+@4$&XQm_9*!IJmtya51MdH{u?tPO6{$;C4LOyYI zSpN15XDrFd>in~#s_su67-)n3uS6uC=qBf+A?Gx)oeLI)Q|PKC{I|DxeW;(90If7P zvPenT?U1BTPF9<^YFl!hn6jmZ177|{WE5jMbxf2)6xXPGUMq5DC~u%CA$@h_fS>=I z1jb|(qCE<6!rlO~I<6o|yY`P!j~kZe%7g~^kQRr%gUxH(gAH%SBuB${uIIIfWNSh)y;V{>^dh3iJ(-x(d4Non zJRIw%xvfMOu9!S+SAmgfMeH^@zDILZuv6NiI#rhIMtAm-aTbTH#PGsQ=(-0_@Hdss ze!iF4G5|Lha!Ovo3h&X?s*u@ZoH|w*5nJ11j1lNh+Rlsm4kZaS`;Mfl_%^BVmU1Fu zu}@~Y(wt1&a~Yu&@|+)v{roJS`U|R@d7pCr$jYzM$gio~@G%Xa1XY;7bD27<>Q}h8 z1*A}JEaaInoDTh}wels>tuETPB34G|{SKxC6q3{`rdrx#U(mg$NLrr*WX z#jaCD#}%PIP#3#q<^`ktS5iEqm@>`q>_$JyEnu#}&tLLq439-fhMGRznq%*QXdH1v z*XFEM4h!F{thU1ga&X6#TE7Q^$ItVl*Q}SC@cPV?$Kl4XR?6h7G`))I&FHhBDP?ag zPEAo*Nn?(<*P{BK6w^9;a~ghQZkVVAe=|lZ;(l>Y`z{Ci39+kQkj;D|G)_d4`q3qV zQyCkk@#PS>J4=mC^rOWhj--vjT`+Vbh>)0M*EsTeZdI(0KyO(s+##)N&p<{E!wWND zq$QAs_LncQHHd+8j()ua0XufqYIbfGUbxn`JKgkA3(7|lau@;wdvCADS2#X{iNAju zX9R(#97wFK9XVksgD^;McrLcszO_g8)R}`zIi+<|!s!sVI90pDskhQQ#|I=Q z+q4-kF+~1rDnw>k>s+`G+a+r`|H5qe4pMMa;5?;JlrHk%zFf~?)gu$j*_=Jd6!~Yy zX^QP$WO!PNjIm3KKw1dl^Rz`GAhdi|E66BiDRd=qli6GlK5eZpJKlnVW}8lLT~6_= zCotoe>ml7Rx-ot*))$QEN4P}-(PD)75xUiWr3h5np4swH=>9)NIgMyU63F7jD8fUW z+&mW++f>ccFJ`Ng<*%s4S+3=P`zy6=9y{JnCDf^j`grW_yFo}vuhG81#w z>KqTNiVdhRGH%$Jx73_OqJq#uHz{$Q-VcYOGpv*7JtCnA8?}PV^eD0J39*QW_z>E9 zh-Ur%JZ=L%lRv8?*-Y`k=#?;wCF@jjIh!Oz$19iaj=PkcqG7@kWG4cGy6=3V4=xc#O&%b)$FuTRQgoMD z8LuYh(d;h=ekjAgwxGCSN$w)DpD0M4)R05gp3@1KuLb5h`Vd<$=e9YFv2PDmsTd19 ztrKv*@(%8k*<$@%Tlrfx#RqW0`pH=ueDYTLYbDa@O1VT&x}F4@6VN`#uxZdp9VN&= z@b+nhV?9Z_gu!&sQjI2@uhu_$bbqR%t>y2Q8vXME1@B^$E2SJvEF!c=NZI?WL%wA@ zHZat2{uifyZrY1ic{FJz5+}u798&5&KJ(IcgFLPxkv$MjZsCX-KVN0ux`TVkt;k_Y-7~6XNN?%wD@yZ_;Z{RPxd^W2 zjBbV!JQJT+p&=B?*04$hM{gNI9L;${ioWMo`UY-n3jyIB+5-a1#LkWfdVO@2^IhP2 znuFkLfw00c+MGGbl`dreC_`Pbbu`P2-14ss!Qj@qLR<5eN{Yi?-{i@37G2o)aEyPS z%PiCTgJoY)KQO$#7s`*r+41?KLk!a>YKDfWGV|hdB}a2YWd3q9%f!P@A61tBwfjce-SpJ6Z%%nLDShgmOB zyj8v3C2>bT&2^o6!6?gjG`o26d7r?8h7#P%Ub^uB!Q8-j`_fDwhpyB~1X8d^<5;`5 zM#2936<4d&zrnr8JbaqkdbVKB5{}l^oEnYM3T94@MOSfE`S~roVR5n>c1q23oy?$+ zJSN{}M`^+;lytNXADPTvq;71Nax{L@VE|dOb7}90#qvB$kh8=>?)QF-Qau65;hc`o znw(l!TLQO>f_F^SN|55JVD2+re8?@7X(Y8gIF(l4!q3r@>v<=xk@Pu?`XNt?&Tj?F zSio#RO^s$lRVAt8^sP(5j{YsFu^G3$fogw_$A)fOQtg+irWFxPd=B%Uze|sTB{CNm z&bSurPmyq^&D_HsStPjeJ7=qu;JUH5|Ecf?9AXi55s=u;+FJlE4uVJLs#B0q6(kfg zWDF4_8M(22Gq~om!Sc8=OtgPfp4Vpry%2OZTyz-&oek@cr4OOK539y2i|q{PG^?6_ z;s*0L@qyKJm4k(WXFrr$B_3IGkKR(FDTLA{&~Wrvzq(52)NZB`#1-Sp-<-(Y1{FuA z<6`}THaBz)_|iZr%Q(CXRnxt6g_M%+s*mf=ZCskX1jH|YFI~navNGkBP{^zwbYY%9 zPEh4Pks%y!j3|9gd5VUT3Zql!syjkwmJ)#k%Plqgz zv|Vo~Y1uE*a1mRD7gdYtbKz)E;T>;|U6A}AeN21I=TR`d}hT*Hs_o|LbnkA8zCS>IaTfGa`L=7h+0Ga>k&iHAn@9MWhNV9|;ZXAa)Nd zhp6$fw*=MtpO<;j~`>MBA+@)dt?heC7oG`5T|J|5o?R7 zs1{gl@k~JdwelI7#wau_MOw#cr+4ie&diI>1D_YnazA5xk^ef$)BooLJg$k-oQsQA z=t0Rk#D{v0Ash7i8{*H4y3>i45E2$Q>%Y?U(Z@GCD_ zXWJ^L9q7i-=zUS>f4STp#M)t7>_{0iUMIr^6Fy1ym1qSGi`~Z86SP zjuwnxi~;#0;Gn5o8Jr^z?9UVBylKcaS?Qgh4bizX@D*-X>We>>=0DpsCOwj3NdZn; zG+pQVm)F^pMVC(36MnMmMY{ zzA6xvh;pnrBm#K?c(3D5=rLdaES~QB>KX`Asmu|YHehw&Ra!I&xClJfRqqd#%a*dT z$Jw|P`m^Vegw@c*--PaQdQ`>}w|<~aCHHx`H?2YN9v$cEg#!;=Gf7>XBvaTwKaUeK+u6AyRZbdMt?j>FPSKbk?{|4A990KYFbHY>3ZbOH>A< z*T+(F@}u`vujVBmS!m&v&qvh6ESOSdDAy0n27Ln?1k--|{!wOB2`=iNuYuel4=8$ukbfJ!c8)R|DO!ej;5;JJcVH z+C~kj7PUI8XMkJt&;XP%Rot1oB!Q9?>{1G83#;rv#mP|Ptl~N7eLa*6Q6-4Qa__K| zhTA#tNh3&b5U%<6qLXwiOvA|xbHEUSkA_#VTq}#c$g14Q$a>Gc{V(-?il3;lqF6Nw zRtNjr&u6HnFS6PxTlOeNL#t{2#gPP-iivk=b$vcnj5|FRi$4=^EZ{3%5zRPF)U*Uy3Nt-F|EFBYXyDgGJD&}Bdcjzgr<Q@H;2UqUT_wrH@{7%xAL`}>$5mf z8K;y+FVBD3!5zPtEPLXyl81tmqdcx~N?GbP^TVW5*faBb;Kb`<$}YK8U=d(zTmR3w z7nXCHs#gtWf_wBWji@j#w5TM!dp@MLwDfVerrDP66{WK%W5^M)4*#@k6|99$-UJIw z3%)}s*2AqG%i5=$F}hJFOHUpbm@Ly09TZOH-A$G2e|h}Bgy=pZG(6dIS`wsPSru|l zKo4DC?yt{(9+WI)uhtm5JJ_Pl3(`%GMS~?c#+ZX8bj9>1I>AA3iCMLoL^i%!j||TyaJ8bR5mVwuc|>_~px@%XX>_VItyZbiU|bPxS$=K>f0 zr$eUyZ|(gcnesgz4)pQ=+8FQujt7=J)Iag;fl1vUDWNuv`ORI^3U#Kao@5ppJht!s zxZe9tlQJKhTG^ExogI4CZrh$te(-#apD&HPG=5wvMt7&Kiogj}@``&~`1f*;s0y4^ z98;>Vhxpdf)0R5c=VoemNZNHnL&K}C=H}@!bM4;QDKLuSaL&EzZau{s{xh%Y+_PXa zzuy}e3^8*}9lXqY(*&|Z* zr#wZuc0rG>CQn&ml?R(}L6uhqg&cA}M@`j-E9TfMST)Jts6Gggpxi@(r4pmzuvbV1 zOJJpA`!aus?&^tcrqa;h*l4&ZP{{benb;9*RRetMa3!xsW;Wx;X;kmpNUsay%FfNy$F~ z?mt8zR))Lf{+ko~3fYG&nM*a%S{bg){FnapjuGn7+Q&+1H_4tC+S=~zgO+~kDYMbu zgb5xAxPb5uk#m|!f9zkOx9nW`m^y=3%zaA9PuC&d2!%>cEuFijKV;}XkG`MFTYQ{r zfN>>o?8op0sw-Z84NtN^U;hGj73UTYt%c>SDhvKnIoi})g$G_yrp_*#T6iN*mKt+2 zc~8BY+90g=VU{%podl@hoNYIB3*x=<)2zcz2}?n4&NG@*eMx@)wrXWLh8W}gO7VAX z)LXNCF05ychxHRszZs|6-flgxd`P)L`nMLZdsfjLtHQ9N$%RQl?bdgGmDK7xAXb#M&X%?m#ie z88I%6y>xE-{d0uuw@dt~$4}I>j`J#FpNJ}4-hVX9HX};h4|Z=RMNv!EFkult-?sUJ z*912z%&TY+>bq#yHCB*Y>AH#NXV`qHtoLHD-f!LYdJ7?)y_Xf0F){tlg4_9v=M|xk z$^3KejOVEC!UqUEM6SC5UPk?r+EfH-6Fw?}5f2kV$$A4*^yI+b-M_3_8d<7x=)7X} zrN^SVD@k)sLEVREjW9;zsQyq|!k&jYB76&g_f)o_1~cFFQZp9rQ4NO6K|^N)5&>E1 z-_DSwIdv+;D}RBP-9B86V!qSFY)SMwT4|V2RzBt>=kyz{;quL0X>}`DRs?a8)qVUu zvc#7|Ed5BJEBagXBll5^MR0q4-=UZ>khR~F2>N-eNu{M43L(XQ# zsfbUWXN**vU$qBnH7U3`+e?iWcjz&cs%;fmBFIB~qrU7Y00LTPT^@R6_ros6%>4LB zML5wU#;wx#_BWeXuIi~n2k098pYT>MQJ2`T8*EJ*ZW$=rNDxh)7_$gf);W8G;A~Iy zs!OKnE~yBH>+7Zm!=PUo<3`qnu+W0(bk#2YC%xQ2q=z`FW}+@_dwU-K=)zF}Jce%H zb|_R4d%O-TnBG-|{aJaueB+F?c%7AMv57hL$Q1Hl;N?I4J(HVtRxxAronD?jP6qWX z;PAtbr`vOfFj%?4x0t9z+h1B}dIS@lj(;U;_74#w9Y|`|`^$%ZC?S7Ww;WeyCEci@ zORz9xKswpl@$xFf6MEj-Q&gujD)>sybTg}vbf%_K%-iH?G>Vw^-a*49QOsPG)gaS- zeKJD73G9|kZ94g(e2-#&*AfXjAHUcZQ51CHJc!}gHZve+l03zwjLEJ8oL)6O%t#yVo}6CHGKlxDXFYj;ql=t#R+DD<4t7h4!mn`_gx-Lm)Wt_UuyIMDO^ zOkcW%%wzU&QdfHl?lu2Yr!}hIcWUHWAF}=1l=1b*;J2m5kSser`!5HQGN1cm8Bu)Q z07wTon)p`4su%koi?aoTxE;1u@sfq8@?_6be6n|<1@dH08ztpYJVMBC4(@W%?W?OO zz056IyhZX@|AsA<&Jwdu;b%=$-4asjaXS+=<*eQ(t_6}sQ@PSRvze9Kr*5?oA0HBq zeF~cYUfq1r#tct9GEaK;Fb8v|Z{}C#ugcr$FSa=uLzO3OTREn}FlV<7W%c8qcIl?G z$eL-pMCotCZED6Y=2Xqn#CjS+m8U9J3V$W}zW+E-%BP!L?BwhP>uks0NrP;Ko!qvb z!1tz31bg$6*8VR+SjmPh+PQoOt?k~lx0O+eMDdikafyJl7vynT2_@IvuJGO-{MS4` zAqyWB9K=c7+09e_N_SRK4LC0|wnvZM!^k~v@F20ZAkA9TA`zLQWD^+U79Ln`(_bdIS&e;Z-O)nQ#ocD2KbdENMs(#Jzx>e`(jMq8m4CxiXCY)3e{!btGDcY z(?2z`92jDhMa`gUNb#kgCD+tER_44lB)5#rPJJFJ_kx~tnq{t#+v8na@3woC20Wy- zz9Kyg$&Q7axz$?2)s|$mp&jA7nEGI1-vV%L6{h|J&QK2}n@C^S{;q5Jo@r@OqC=yS z*m#=%EWh3_ie&=m#%39m2Ra zBtR4e3Ef9*oZEnL*&fI$^iiHrlKO3@r`}=2`_=0O!TSkJ~g;YHHtlK$y zTE671Cpd2$uc?Kvh*3@+&$@2CqTgoKrBGfL!swYeEKxYQl-+(8wxSC-rdtdD*em1> zzvsYC{`z;V^OF;ngd~rB9lAz%*JAJMtDgI2FGPFnxK<_Ut^;rhPMgWC?dHYYQrdg7!^ere;S|{je$Kk0-S=c$-5Tw|6 zoOEVP(XXIa-SMAeEQwJWoz%M%uHGFcu0u`kp371EVSD=_&B}7S@PK6tfKvIim@jl| zpAnW_?jR{Ep(c2{7Hzd1zbfLm8PwqLxjq?Q#ePGQxN|7z0XO0`i}L3-_o8%M;#7xl znf|9(Ib1)bc{WuG=W0nrrN_<4a>YtEM#vgNqWfRtI60UJxcT)1FI0`6O@YvU~JA=?)*BKm_m?0h7 z`MKAwB6b!)6_Qizu`)#7Zv$g6QN3Rab18z~3K(G#`1sHfT)ZkQf8EO= zBT{C|VQ`4&*zysru(_KBk)L1cJ7ZndX6$6JTAd{Hnns78W*yvoo=ri)vK*MH?!g&b~Rty$w?^tWiO4~dXQG=KzBZ|!YZbxAW z$wRtU7eyD-Lo~9k6yvFb7n6DZ{#?;Z9c!|jMP6vYjMNBa=~FzMSH^C?%0ER z4d~ar76a|>qRD7OZn(B5ySP$N9(|*<{!N8~`prpix1iLX0XC?*ROQ5nj^-x2(tA+D zy8iM`R;`;Q)Q6Q+JL##e8GN!1V&wc{n7Ys6b&sX^AeAeV9}vU8t$7Vl@l~PzOA|y2 zA+(zT8BOAe=D|ehRup#f-ldart^p}=1_UgqvdsxpI4W- z?L|v|Na61>x@*p?`)MRVnoh`vJ@RFUr2?OI8BTHlWh@@I1g+>Lqh%&0{F=;4t%XkA zIuUbCQCh}c->*?RgNsGt&r#^E^wjCHz(<#4bZ^M;<#8RW(xpDSTneI`5#_SQ9==7R z<9b4&Xn_E^9j>n8?+uf59UEN5!&!+6ush|LxJjxZ&Mgg&s})T}qBJ4r5q%6AzHxLpHAz<@uAo z85F$nYrqwsIV=<6P@y~TSn#Gmfw{8Dwq&rq7daA8@W$i0DmpI&znXd~*dR2Kx51x^V zvudcmJwdFeDJYxul#-Co&kJG@Vx>i_A4y?w*hwU^*3&Uh}-*Jz{T+{Yx<{vqM zi_n4gH{dG2LMoIH%Mz^l1RV1GO}0qT#N*AD85CBEBuQgMbq`1oh3RU?X)`>9q~gml zGW^J1!W5_mQwQmbMjh9lSFXbXMIK@5#Zdz~!eqmWpcyMx;c7M*C)`G5gWrlSKC7C~{qBWXAugO1vvwK{K zmujD$lk5RNp#4Uj+^gOn3%eb;lx(_Q*MXSf(46Frm^j%MzkL?<1V$m?Y3{&b6`W## zX3n*XEzjox8tu}8HpQ%iQvB_HtUn+^xNtVgJ^j)KXa)$L08Aj7-;gp8Idb9gdvqsm zhSefN5A7qG4_I~Bq1*H<7Hy2K)C8wrl ztP+|h)}7IRY;^DRUJIc2G|{qBd~>79d&Nz(2ne))l!&vPIW0XrKA@8_nFx}O>j2-> z(r;_>9nxHf`wP;1d~y}itcm&q(u|%~wd&L3Q>squ8zAZ@mx>?LBedU$S`4Jr=xWl4 zqQ0&HC?DzR_Na^|{kzF1%(!|<6QF$XH5kvQWiE?f=8`7-x(>qd0{}^>k6`ZHq*uo2 zad&pb_(E-@CfmI043xWB=~ZbT;YJtC*5M*_`5_BSwg(5>&t%+I)LXf;zY1SAi9F@< ze5v9C1wN20-rFk)csbW1BB!~6p0~T52jb-8*B(HFv zuc)pMFbr(PF}Eq)8}F-+6GF@)>YUPQ{tZa?X8$E>Iij59NY?cRgDF1aa~?ccAu01j zjp5#p85pKs_zh|ErxAN&*ILnz>bS~vH6Q!f>ZWBDyDmrrckThA6eG3p6lC2LYFu+H zT0ymE?Csfw@ny;0xIM+4yQpFo@73_-veQR}{MkXMIH{(iQruloUdm>K&vTP&1IbWJ z&P1?UK`d2j&BOrsMraESCX40{G0c94yEyzRwJ`2Q3ZvksewVjZ6YMRLMx`ZTYQuN>a`YRO*;?r13&(na`i>>Q{MB{Tq68K z%J(AuY2JJ##vNJw3Wjn~z{;>%_V)*p}SZ zbSCqvlR-(}iPC);D=>0|hM)@&h%2RET(-W#23OH{>WtA)-a#YvL;%LoiDS6PUlT2@ zfO+&Now<^cw*Qo(Q1I}HCSZ@A%UPDgWx5lE;B`pH7xijJvuq=`>;fK{O%=-!0J7;F?2CQvEcSnut^V z!wlE)?wwqL6<(AMTC$%7AY+7)knOBC$ovOJBiK)p6KF5s9DUXgUXt_129$czl|n|9 z@K`l5<(O-uF^FIQjncfzPlNg=TlrT=R{P0BU#Pg~YMciA2t|N@zgLEQ2O*6f{|`aP z5{u#GU_Bwf(yk0ygXznqB=?tRUhu10c4xA_xGK%4wlUIA(Yw>XfiqA+aU9j7f;40X zNF9gRy~-dfZtFK2cGkobH{qXD#t-+Rv4BeZn)x~kXn~ZJ0nbG^CpyEKQE(|Ex6wZ- z{DY;?POjuNEi*77lX;=EM6*kT+aDU2IAKD0De0gfVp<(~MGsw;l3os2&Dg+Dk<%-e zB@2iLoE}VMj_hR>9*tkEr7K!}!;=H@f6!QdIlw^m*OsC!-CuZc1&_jqCG32#YNVQ_ z%zl_RBuU8y6s0;2(=mwf7X(!vs7LIqC#E=$d%kX2>S_lr;4DhoiBO}I`d$;=q-tAb z#?jGKxAP}#kCo9b`<%M>?bXx89_}r4X0xqt-|=dGONwB2v#kJNq!n9pF6bvmKvu$o zmB6ag_S%=<>E&*+1yy~=^9$>16bowX@vkmEH)D7iFw-sVzU+!VhS=Q!7~3`DI87S* z0HN`Xc-tHk($aguR@9faxZf>VYQ4>}>)r9#9Qo)}Z&r_q1t%?o>f0e0ZRbGCeD#lJ zcvRvR8tdmSYvkV-+(QrFkm{K(1th)QaFVA`C3HfAFM|kO(OFU*uBoQ%Qc{P)r<&F< z7}5vecOh}SpJA4D%(`s6rtH+4gF#4B>nQ| zX2`k$GU|gKQB4;{!V!m^!5xMJB#e+p|AT_WzxltVAa};C$6~{<$6j^%Y@xB}q>GYM z;~@cGk;AqCLOchX{Pgm8AFqIGrjMs(6IgJUlqqn)Ge0=-QUN7jaF6O6fqw|Kq#J3K z-E(7eHDL{8%ULb9-T*uNn3H)6ARpO@oN$Da6brDCXIMQV7R4BB0Qzn{nGleyi;sJK z8Rn9r7ru`k13@}!k5{;%4**(VYC1e12p`6;hPR(_!xOC6bzoJsL@nAM!T7CxdOq?g zD6h+txH5cs^COmXnt(-vMr_n|jEEmn^Bi)NU>@4$x0)sD%)VjUU1_$1TlbnVuqkb# zEmWe>PIl}!c@5*_Z$AP_CoTW9D&^mcim-&GdKQP&T0WK^kZE*Kuk%k*#*A;@NbpQJ zGmEyFd=PU`q$n}?5iec_4a*N`oOr*f?%Uu{6n!<&1f=D!FS{ERnXc3TqO5&i1j?n< zE59^cNHZXPGn21A!=jWNY))MfNWDo6345CzD|1nnK7!r8@@}X%p}m=(uXNGPZS>jM zhf_+;E+d3|`c`(9AQBUt^>x3FOyw!6#zfj{4NLM4wWKY;o6{Egt6=`d{{OA6$>e+s}@jB|j zDoar9-iFM1t`L01r{rGxQYi23%~~@-VY#f68r=L-pCYR#RIW8^)48pv?69XKY43;f zPW1Mvkb;If1CmvK+N+EZpNBFnuA3}Z>lN3i$^9vZVAndCC#l$9iyLh=OS27dCcQIc zBuDL{lO85^kqi?yVLAnUfzKy><`BQZF*-W-^s5-A%8BrT%*JIuvL{oEB;piu(6v5=7Ko5X0P=E;ikb=3TXic3MY4Z>nNv{!je!u{OujjVoSF=-BJ~Rdtec zS`7P^CKoUBd&-+_i^sBwJ0n%-x`mGEvyE7kYja3lk-N);JdXB@gU$!|T%h3g$9oX9 z9Rl6aI5PGPxXB6Fk5I%P)v&E4paBEN@kEYOfL!SB`6fOQY2T&Ux^VpMhy<;~v;D8- z>Dsrf7;2ih$9!itioEp_=gEVE>lY}ikA5rSA5rN6kgci+*3NlK5jIHP1IB`9H~Z*; zZd1+CR{xvS0AjlR0T0*NBk|S~p=X)c+}cyhq}D_InRM2<+=D6!V=Bo_Zs2RzxF7t- zNc(?}(XA=@`||s#@bZ5Jl%w4F2mTA#U{9x&Y~qhv&FhoeW7pb9BOwQPPz!o1^aLYL zq#FLFR(wVKw{^bw-^Mh{uT?02ir<(Bc9vy`w1YbX(98{Ivi;9H*1oTpf z(jaQV|8Ufy)WJMePt3d4Dmez+vA^9G0X$hu(H9Y++glSLQi~Eg zJH6K?DXogyKVnRxxc~~jAB8w0_Rn9&6&R9$hxy11jWVkc$)VT*PFOqkH^AEqQ&P6stVnYCLxTJ?e+24|TbQ0|g<65sL55lT|4a*npH4KQeM^^qK!E z2|KV_7E7lc%^3ArtvDrK{e6PFtgcu{yw(s(3~?Wxk?<7Bzk8!6Jdqst&}a91xT5X>5vjeYdf0gjXP_w=bvE(KG*|Oew_Oj$;*FgJ7 z#&KXATY~yP&?Tm(jGrnPeh;cy#Ae1>FDOlX(*fKy1)1i1|EwBG(=vvnM#JPEHMg4q zxADeE6in{&4%&BOSN(TIhbO3%FjE65Ej?H|uCf~xTR}BDJia6^k91{Ag!TC;tfy0P zLNF{Pb(L_RMlH-TsvHdS1nV4 z^?p{=w0X`?#@rcL_H)H;Ex319zZtfvHVkcex(xzR(#3tJI*^iZvgV>H<~R4~nky?xxTh zk^Py^xZAX-&^X7AW;|fvdCtkgWx0BqqtY`H+{NEA2x}+uvFvTS|Mh8p>sL>Wf{m&q z&FTfuUvokkuXfS#&|`GuH_=3be6{#Qs^*cLmvT5)PAY6&YBy&jZ;+RH(Evh)Kud$u zq-}l8Wd9cEBuNtO|D7ei*VD zK)sKO&aboNTfs04B!mN2Oc|))2M853rpNf*PPx z3|Qma?8(=JNj4f`9)>Ohby8Bx!^)vGVMPft%yJ7H6@v)1fbhc+>V^;@xOQh_>iY~; zc155YjfnA>PS!>xggCULyq>q@;zNAAA@LxiA~_n6X%?)3Gx{ARi@xDjG1{CEN&@Kr zCrTqlAXKgj3o&N`7`FTX4p{MMyw=uN$l?92gRYbJV>u{oO@t5z=|Pf{ODSvw=_5YFIe_oa^b)n!ie7*-W+) zfAsOV{%2fd)gaoD)ge#wXIjp*uYu4odhbIKO$+QB( z1whg9@4lm?_726S?_M>ySA3tglNx{bDb7i8e?cA&eLlf*RB@a&=)5!oj+JN%FMn-j zI|mrN(Ar0?vbC8bemkMXE0UREE~O6e3rG*quR?AAOfW&-11|SE z_hjfjQQx`lwJ~Lq$R%1Y%6nG6o_pF}WFnkXW)m8`nV!bt<2g=QLq0l%6ZB?&^N3`f zQiA8HQAL@+Q^~j~ zh&_^$wKOO?nnM{^vn?`8HZZ4FxVpRvE;etPpFw?-abS7+9~%>LlwYbJ(0zT4r4%yG z@0$t2b2CHKMp0d=X|TCc>|@YY<`(?VHYjn!GFxB&R-iyY|Wm~vMMLdHJA5e5IX6Bnw|79 zT^nJ8&Ue9ja)|)mwAOZPa^5&oeoh;k+X=kbdfg$FwI4D9ls%Ovfa@DH=gDJ@X|RtW+SI59 z>~B`b`bTGqg>z0NO2pntt7vn=0D4?vE-Ys{pNdHcR55w-jcB(XO-%8f1;z8zQ?I>B-GbFz~UsqHz1Yf|Mt6=!!>CzAbI8rh#?MZ8uQOn8Pim+*p zvRP{Xl~`2n<125YoWGW}H6*(@;=`5BkM-HaZ>b{psxkv*Lk`;otHxbXL@Nz2qi3@n z_G>0Yvg)?zw<_0ua4$>U>9&Z9g_LswrtiOdI)u`>N9U9s)1GAj zeicCO2p?+5^% z`(2jfzC8gNI90K!p~s>18dXSf+}qHW&y&RW$ht4ySpK_(MnV&EVxzGX_s)gzH<0o1 z-25KOyBU?=78bitfR;RKQa~H8e+QKTrcvnLZPXE5dPX~deRv2gm=*89ig{FznI`i_ zPPJS=5Lq>n5eD(TWAv!fo*>(rBLDUsu+cL*IzK`KTiRU;9A5X7BVi5`BafYgpAEj4etCXz&d{M_Q6Bo6D#xECG4fa84PxGf{ zhxrKOxa;8$jmbcdxg!8^pKq)wLFzkSU_suP{Yy1%*kp^#JD*Mq>T+>{$)~qh{byVq zhkjx8AVA*%w#H68B_zC=$a91Z>qdQaAdL?J7!{wh3u>)TCN$A#A0EEKMG$WqIqfjc zO8DFwN;*-upZ+SQ-80tN6P%K^MbN)zR#yi)XVOHXCqjCUep)@NB?bBCGpqeYPQf#JQ~eqAFF7>5X&uXi`<)`@?kPZd_V2A@0`u#JG4I4{Of$<4ef zha+NMuoyvYD~enT7U^dygp|L%eLSbfhRv&9(*C9|zbAW9FfWvTBo8|5N19U~T;H zS_KI?TcNlf8pb5Ef zm%iN)<@Wb721ISMSaHk&o9p*_I&=6Awz{WQeuXDaWG4)Pmc^0@EisAf-#e1Wtn*BQ zE=_NPuFO^ie!#6}>S!1KjN|~;?<3R1Ey5^g=MkG^&j5gLtyEU1oiZs_47>I?ME4x5 zZfUrViM_0OW%3v=^r=zRDrZ9@djDVTy?H#8`ycZ`N@znd$U3bg+mRx& zRAR{9*auT7w4l{A)=DU3V(c@_5h2V>5z{b?eP@ip7-MGcQNzrVlkKkmolzHk3@ zj?=lWnd|yopX>8^zhAHCt9!Bj`LHQIzp#e1qcPfdoT7$wQcr44^X-LZU&ch`ZX)tC zqZcJuXea)pAX&i9$~;MyK&HN>(@R42ZK_czG~?y@>e> z+b5%C8mh!nU7j*xFdYXjx;)8r`K;V4A+m9wSG^SHI1u>qQQOoa$O$v9<(4Y0Z@6WT zX4=clmy~qR0T+o3R0$5nMM@TQb`LrrmE50*#dhFczcLN8v{V_;W6(KKna^St9j$#) zZxrZA${(!9F{?-r99VgEl*{e^KQLw2|fJ5zpN;T$yR;%H;ZlFx%Yo&ykd{ zkfqsvPl-oK#{BwveYnqPM%2VTdTfh_@xnZ|7*2@`yt*>qerUqM+vS4&=rAPHxn{qM zzHN26FAi<_CMha>C*J0fvkrVdJ@g|Zy=QSLa|BJ60hcrIyBK)9I7O}dG^UYoD0RQR z#AcM^W|RDop6pQi<+jm#uBXv6_V<6Wo19+1t$FJRtv0;MNjXZCzLRj!|3GyFTb%8! zDQW%s+VtloBQKlYQ|iC)fAzJsQyDgjh}Dwz-pV}bq96mHIbSB3F<&}c&!&zn)h=9R zLtxY|$-dc^0W+Z3z5$wa>0}%{v>R^B!w1ua;!3^| zb6z1-_R~B&6q$ni-6w1{eTlCEi^eAi= zvo~5MCacA1hQIABQh!`hJ(nNbO_P8L{h z_S)(+)uxvcR5S9#6McKVp~WBBod=%eOS{uOwSycN)#TKT^vjYm=qAnTRcB1pxO=_J zuBI!wya4t5y}yBhzZHkSA#`p){Qr2SQ_Sma%QtV|{jRxrI0xWsDX%6D0DuhV8?fFL zoOf74*oa-PT9@Mv_%1ay<(nbqAdrF__xl3rL9Ke&98+{H#_jb zMZEqfnhTYtpf2hgmx-ny+vaFxi%R@@I=6e9anashYZ#HY7)sD(`T(u!i1yo?G5%WE zNiZlgqnCkj_p3Rw=OAKnMvL)Cju|x4_2zIWFcC+jgAr)9lGcKZx`Un$q11l@uo|og zK|k_>2Qi%1y7?=+vRk8$J6lP4iCK_Fx%ib)ln0#QJqg$Mq?~$#Vdmvyv@l;X-E+0( z_4!j*IOoZ|XBC{vYyA1uTo6UE+vUu+Y~72c?c6Wp0m-t{`gSfPe$qwZw|c#9_4xq| z%0!{+(q`HKtSt3IwY6vvzj4M+K|cFgV98lvRhI1mV&Ui0`UfnNUVgD8bY2Kunx%L^ z-3J`lEv?LHy=e|)$As`@$>{LUy0A@w@m?<(;cA$^5Hh_GHLPpTw{jG`cAlrrqH^I1 znX04Z)jNBw$#2=YLJ%c*N6uHbq2nSpb7h0OO%>hgSZgs^O{ZvDPBj$x1@2?PR0bzWI8@?_N!EAWY&&!T8xHJU{s@bS$V#T@$|KD6hG=Zu)nWuzl)wSW<9L zf^I68QEB5l-rjP{n{n;R%NbTv7S{b^UPmx+?rid=v=Ga|Vs^tq8j4+Y9AuNAq-LL1 zj=IDh(yS?;j$(1v9`zOWbp9?KR2z8NZ-|S`b~s~;`f3;f;YP=Z{PxRtwb!2#U9ej} z1Cw)^%j`E|D+t;nS=677`U-c`e>>QJm?U4JcD{-~03GBGkGEwuW+7N>{ttgM$;g;Y zo3v)&bR(w1^dcU(L)QE+Kl}e*Ci;s-`Cq+)|NDhFQ}}~0DMsq9O(=DV!Uc;GWeR9u z4FOc&aB5#yYVi+jriOtr&D%IB=YtbvTIywxfbp1&v@7_x`2bsqK3b58m!V@vNovKOY5C zcw(4@k-n}=G^@-Y_v&)t>2fv#yyxfyxKh)VjIJ8znyvuFW!0PccZ=KTwz`!A=E`Kgq zLR=!Pe7xS?*V&q6~DZUR6%tsnEs?}*C{W|?39Y8tV z6_jvFCo<&`3Z+2ODnu4tpTDqFT`9zu?p%UrHwI$*?}%xnj!p~aE_H^;!!skhP9A~Q zY`qs4v4f4E>=?Z}HE78EdaoeU$W>8K*2rK;Q3xu{BeIch!gAu@x)h#;lGaM!Vx`NQ z*tNk2#AJnhStsPu{U`t=^l3Zv9!M>(j}HR*)p${B5kVr!D6p%}CaA@yUE~s>>=8M^ zQ%b{Kl+HUp@^vd@!OnjUx+EY40b#6KYn;Z(ou{OZ9B_0`ghxF}c2{#-M9P1r5Z6=$SzK zpD8u$ENdyHj089kh@&yjX0)!*jF_Wu*I3n|d5(3|WJBjVG6S-M{btD~* z^w};md0;>c2S2l-XDB@-m7yW^<(gJZp^nzXoP4hTtU}kD+#qO_#8i>b??T=j3wwdX zg=`hB9{)z;5NeOduEWGQT%4qaSBUejWha9c(z@Rt4O$*zl~a$7iW;E^J)%`lNE*w& zPVGxN{N6Z=J#W2Co;6f^WYRnf*6r{lhqr5z`7&!^S<{9Ld`3*$+|6E1C@v2pdHwfz+;xvBhvgkS z)oau7)>XS564v=Z)|mP8$tBkE|nY{^vtcbg7pG`={`PZ;#cN}!P|ir zVu}dsBXSz|cw+L*ndbqncC9_j<%SKj^F%a^}v4ZOawv!*35;#XOdqcj7-z4ZM24 z#!e;qXENoqZR(9&0Qmw)<@0SJV!K1o#_}O%#96%5&^IP+(r$zaXvqNWe`(AIpZZGK zGI)$%g%R_eIcVr!-Yp{Rl8)k(Twk}Ng9m2{_ijH=qlScle3vAD7#YYZN8@yL2dFZE zey@u_nXy4;Rn^)<77J?b0RbrVmKkrX5>R8#W@F8H-#kHzNK9V^LZOv2b#CMcni>+} z0<9X4<`e=mZd9ScChLw+0Q&5C+mIN>XRQDoEH3cU99KyH20!(GYzP2$;snY>n)h?~ zcGhE9ftP2S$a_F1n`>+o`23VX%8@g?_Lv$%sh0TEK&ZJ^Mva zet%$L#7dCzakK`u+sHyX{_JknND+h=_9Xtr6 zQ1*(ChuzVd`hfVUYiV0-nVQ2(;;H%;5b5x4f`9OTyypNV`=$B2cs3C_X~~GmeMxeT zwarQst>)M2=$3f}y#eiQ0PR%IeOvpPkmT|>Qc}Y((*!q>maWx6RnO&&4O%~^UibUT zM3K$`Ft)3e79QGDab!SQK366Bmw8}rh)Oc*_>ZKuc0JIr)?N#P5zj8>0T*+q3ZIvU21%;xksyK~!`A|GfYp}L6+{nb zK24t$=o}<4z*(XorHxoN0n2W(mHn6z<>za+0!JSTZ9Iu)4;6=Hp06!s@WyPVT0r9; z@}UP3R&q{(*!r|R3UHj|k=B#OGwgCXrq2VoQhH@WM?^wDd&q55atgcx%LJcu=0VLK z{mGf+%Wi{5VKF`L`w*Byz#SV8o99bv(~ z2t}Vo;6=qM3M3gfl4@8L zf4O%#^Bn+grs>c1NC?~AGnmHGn;l6)uqF<&Zxbs1E!0wZBFD>rHbKKccDz1f*@W zYK9vtDrep}0w^A&H4q!VmlOWB2#pUTS~~({ZWWwSo*Q#x{cEXzex4sbJ(nj%Cd)#F z_jj?|szZS&bV&atk|ALmb3gsLIwi>KfKUv+ZJ6-TTY;|J@x{$fG7Q9jM?(#htPrf=Zt0q$AAejr3=Ep5;03D&p-+z3&SB?Iki*DyvQ0onn8P z_k^O%wD|H-$?@JQi)KvfE)D#9D+PQZ7PNG+557%Z#ZQ0^FIVS!u>2;Mg_mNQue?+D z(v%;V=a}oOlx>w}E}onJ#nm6VdR-r?{88uur?_!N`%Hbee*bPg%JvxFwMcGg_)&WHM{V=hRvR#yN36JeJO7L4u|AdbNk{;~YQCngA~Hm7s0iD=t6S?I zZR5LP`CL@E*1+PKkILx2b3D@3aoRGFs=`_BYIpj{xAPa*x^s4cnD#wF8KKYkxZ<(z^ZhRKO;~}u=Cz)eeWyF-sQ3EYvYabUdgg~zznYerIh+T* zsC+^lkh10{JEw7ILMaLmFPZCrXTJX*k0e z(;nmCR-&tX-gY2_b*C4*{?T^cE6EssBtL}jTn>#1j} zLgPUZ%G{_XKi$)NczLN3>0cH`(=a(fAb7cSkajA_&o>~{~RA6gF1C|2u= zjYS!)?TEkPY}cgKoyJ(pDmB1rzK2E38a>^?26ywJ`oD&F`|N9TYrbYmQD@3;cxx?GePxH*u2+?+?d zU2aV{Yc4$2X^U!bc^i?JRN^VK!j*3s&PHWET;tr`6#kCeWP8Ws+eb;pHU|ak{1&oF zS^ezgtmje}9%o(XDI4v!pMKuigE*)=@Uiv~d1Nn0n|Tn1`Y^DbX?>pP=}N3_ZUI9vkO{Myy9bj zjjp*xvjnJ<&q`}m_4eWO|~)vMSip{&EZeiFC8M$u(2d>ZYp4p-{!+#rpP za$MI~u+LV-)!u_j`oK_@O_QD|UP=nrVtpXnt%WZ>5bk3j5`PRJ(zAGWrvc-WT6w~= zygpg;V`Mt?h=7?V1u{|qHyGN)lOTVuRlJ2hVF+RlI?egaM#1&F&dLgfs($juR*4D+ zO7Jf4>9{Jo^L1x|N_oeyEa-7DC)=dwiu^$F&LNP%)+>qqx z1LE$lzP+8+EHw?ISCDMWPRX%O6;=5rl>?KEZJB#?yj`KfcIQz4a7c}Vi(mbHOl7b& zdcx2Zrl~;FbnrOBu#Qw`@DcrIvuhVu=V#rYGm@h=F`k7pQxio&lU}*CttFB%_6saN z#dncxhEFRH_ZR^?^4Btdz8YNycMfE$4onLuYh;4B>!cXbzwkG|0SP!#%o{(+8VyXN zzt}oD&E1#^h-e#4a^0uq7?OM-2fvd+5Zs~_+PvfK4X65A-32y}doSBSKAy}5rNo&2 zUo%uZOMU(_zXlKhGzjKwd-kbqFjc|do9@tju^gptKaa}S0B?k#)ZVp+#L@eA4VYyY z%+U1=O@I<7r~7;xEC4wkWrJYp({`S#_IjPBC{MwcC5Fa(MS@1(?t4#1f2Mq%DVDqX zxliu3DXy%y^79L@+17Z3eVwx*jNgW-rL6Pl&LNP||Kwc7|vB$o3pa zeEhD8ri3|_bb0}Ll{1$A+B_&)Zk?$bw+SZ-*`fM@16ss1?$9^^rtwy02kx11rt1oL zE>^h^Kh{4k(I@fCCx9yAW%vQ25tAgzxur-twSgU7f=37I6)RX*X}DAfrDP%xt^RnL z0QcI17#0l^~TkX>3O>>7E#tW7FyO{{9eR+j&JOQOKc`p4}xeR z0E*_^zctDFiR#0Uo!49BoqpBgrS4R0XiU1u@Yz%t?zFP)JscH^r0>?pBim$70LlckuVOb;Vd+zqT??D3Jxe94G!~gHXa+w(kkkN-1Jy{=fU?sXKA$aB> z&Z$ysX_Y1M8UIJ2^R!!i`=QeQY_++l0L$bAglg8Ixz5f*UDStw3oLe&To7^0>eQOg z#xBf(Syai(?t!Vpi{i*$BRsmBxFdweMw*eNj35h6k?@m;;O}!T&|>lSwmr8se(bq zU9YO78auAcxbcYg$$lRYj8x1Rv?ekamZzd7r#SPR_FLpyG2aM91GZNA7fj)I)wzB` z5R4S*UnUfu%V+^*JN(O_kX*fTM2q=3O_C`Kq-)ey%C_l@xLL#=LG=cywXSU-1{whc zn#P^Je>`fh4-a_lgu|S?(qs+|6c#vyTmzw87Ps5c5n#(6seiGV)Bxh7tYHiz&U|x$ z@8zAF5}kv04nAzi)kKTlYP1#UPj#C$Py{dbuYWKb0Wm)JWj(3F)}ylr zSpLu6nR(yhs{(}4M*Lzl5J;y7kE%1q#KE~Uggj|9+zyb!=&Yv=}?HJNNhiXp?LRLI=e>u7rZdq>KlyZI)9+MVZ0>V)Ch@S89A2i1_1AIME zRJYns@U60=BEAa`>d4xfm8_?{0+@t$*&rgbbRQw7H|b zGQTw^g)M?`lsR-M`fjeIzwMT91(*yXxgKw@1q%2Rrwk7`<*`UdKEHj< zbIOhf2@ExgK;`a965h|h?aKgvX%p;g&sMrX{jMT&^hW5Zj z;RhDZy~*t$=yYycXmYlGcLD2SVqFD2jDH(@!KyuX^n!HSi8^OXbNj9fql)H?dfgmy`;jxym%|C00uiHpyj=Z7ja^gP*mKFAf9smRp4IrD(iB@85SIr|>l7|3p4 zns3dM9{84f%o6jFbQ^193G)EV_iLT_Sy@`t`~@}?prVarTu#&+1u$!FDMIX8NI)ba zZ4XczfItH6#OvCp@BwAC?bQC0SYg?CbQ4rUci=5>a6aNZ5$f=>kWjK17ue+D0oV3{eA6 zRETmieTf(y_x?89wvCk*dk;{_N%#!Vhj1rWwIfExeXLpEo=}t4c>OE0;s-qEUjqUB z;{S1E%>NJN0d3{XnNOf5C4V(b_vSq9dI4lTS*3cj#Z} z8bGw?SmLMjL(K6^F+6D2UM(G{xo4Eis{;;o<$As8Dm|&<+-=^q*;&f>?XixyV$Wu=wyd52 z2YKI(=bI;PN{b?y&U@F|*_(9VfV@er_OIS0&{~w?Bpov!7A(0nX$u{VB%=h_+zd*VZs>4QJ#c+5q|TX}JV!Jb03y-^U#Mk|hQzPkm05(~_98c5KFu zJGe_FfYd1TV7vEIgzk2(wixgQ+@??oLd0g!xQ9#kQH_B$`+^2CHT!3B;dRafVUFs~ z%hr0o8f^vV4i-*UtCUosmd9LCBPqGtsb)?OPRw&d-6xi*N<)=lq^rsPvVo1;rRr7{ z_31}0ml**HBQ;mW~mXxQvjjQ~D&5|;zV<-z!@CTVIC0T|G z^I9Vuk>8|&iCib?F^ecs4XQWP=ub3-LPv2ww0hPE*qiOap`fY)*k|+N{mWIg>ED#1 z{6dv_Y}>B4iOLXEuxTTTD8GmI_A(7muu9*GumMfr`cs(>g4!hi$WWtvsR_e>lX-n z5F}74ayiNZub*DH5E=}l5*qXKTEjD(N=|mI8~wr_Ct#{fmL+yvS!^F18{Hrh`~_6^ z24#$h67{Sqqn!q?d^rU(ihOBteFKb8b4NTioqfl+eCo=$k$cRJR)=b9)cB4A)zi^{ z#gC#}qtxPP@|4rir~-G1x8K4~cUn~fBZR{Z-`7)Z{lzOP2ny;kAbT*ODQwrsrRd!vem`%@t((a%DtfmK^`8dkUw ztT3!5(+Rt;C{38Oz?4nBeu=W-7vMc;lQ`YcAc%?%}VJ=Ob7T~ogO}o zsySUrk5R;9^e51t8!PzGI>KoZZg#)SmPjMd*`GK#J*z?jSxkYz zoCBfcPSI|QiYmx^8NUIC!Ppnu<`(^*DUTf-=kaqFuTI>~Xxk0ro~CXg%&t~&FXP)Q zsG-m2D+dNUT?rnuE3f;x9d^#|Skl=a0J1`tXFOa|#f zyRteX<%k1VLpET$PU2O!sU6mus#@PzLOCb5oYCct9DG+kI0)iucn^fR_EdY+nhtVX zTfiGGJ&FN=_vq5TT08P9oT9lndP^;!ZZdurIdV}MP-^mBH$S|m{pm1SR6W7Qc904K zg?6f%&0gGD1%v z(Q+o>dc@6W3Af<`~u^ ztmF0%`9jX;d#FDXXkE^qN~{r&Qf^mS*A1JwTjK|=qqU5TMiwWH#!H&IkUO6ua3dLi z;%CYWk|i?2t@u!zCNA>>G9n4QJzxB2TO@>r0O+P}bX$*yPS;jKwMpKqVI}fnMp#Jd z!g{S14Q>&*hL5s7u%0iCwx$8bSKke^d}vQXRE%4Y)=T1wy3Tg69*<Si&YdP8Vdoce!3h%zs z`;3|Xq0!IjWzxCz+==T?+}kFZtwAuih2Lj)fbwV(F}BqLFZ8QCsy-WN7G}ZTp0Jg< zYQ8(=UZ~71g_VT@`xf;IMuW>)gOGn0cW*k%^WJq>ze99MOQihIHG7kl)v6tyPGg#q zUb&Sox2xW5xsoz_1a9s3n%gfW1KC|wD2Zuu%_0hCVEI2@mBhmX&YhFGBN+h^$nqy& zd@3`8d3QL@?nRRR$G7~l5RC|_Yz7kPyCiK+r|-8d8tHGfCg!6*IYL9SghiT^hoG1_FeQ zXzvSpx!EC=b2EKQ_3@5kJcfHg#cx<1Wq}H?dIGn`x9-V3IL8zeEbe6|n3!gp0z8<|@|Q@eh>C7aC~bpRt9Ze38hwaIuMd2QWI_+fooT_uakk zCCgiqn!8j?@ZN=!O6Sj0C9TU#Hz%?_KQJ9Yd;&p+J+91$D;1WA@!*f=uTO<7{+ix7 zOyK)VDZ+rv7GItRLM~&uv7^E4cXy-9LanRmPOkrTXPAn-2$6*jICKa=1i~qEpYNG0 zB=aS|EubUP-XJMpL^P4gEaKcrp`SC)hQvEO&Q!H6%ZZfoI=;nf|5dm=ijFM)A&YdBs zhM-ih%$V++V=D}~G@9Yq>?onUphQPyMvwGH0R?=9wGyqALf?bpPY_;@Vgv>?8X#GB zL}LYxZ_R0_&8WseY;5aZr&qGU>TIZ4P-zz(IxTiRx_i@W?{f3(;<-2Be57k|LS;iL zSK_I$E`2|Ag92srHoJAx2}O~wc7TIqlqCLe*QWAj{w(y?FXt5>5A(9nVZ&KN!=6|% zyU}O#-PVf5ck@>JGTS_a?=j!Ph&=0xcf6wx3XFVUB)!9K#vf5hbFZJ&yJ(zLwsngs zzIW~o`*v)6*qjhMLk8w33u0C7rP3Y320*|Ge9pVy>RAe#lw8`1(Hus8sE%ffm$7nG zuLXcq=@(CmRR(=K%Sp1qG`rRbe3g*sy6Y)mAj1A={|b#OoN7-9q;TA5D2E2m+_60I zKHS-CL})!5i+r?75RYGM#U8ji`?=rdv^h{l4`jEzZoeblNahT-Qb&Su*W{SO^@bT+ z!N~H+*T#h^ivPE(y%!S#cIJIr)nslDKWl;r42(CSlbVUy>a--R93!098F>4<@#E@Z=(6E?$G3I?&+@^OL^JsQ`2=9MyC%5?LcwW+3LoD$=-Mvb zPC%5XJ&eh~qB|LQwdS>Amx;K>5G=XfI`(kf~n%g^a%EtR^ zanc?ZUFWMBfP;5Ks!%0|N7bL$InO+zyfU48OM~d#i>rkL^T}QCjZ_BSo(Yc{xzVa; z88D?B1*=h6@8E{L+oITKQIh)pdJY^fgj9fq*AVp8cDCXZR}|$M zlaQ4-72zCxxW0iPebtWVEDrqZdNF?r5j2F-;0XX9e0s~_td_wC^!w4DaSac`=IV~2 zb*R1FR*dj+vyo}C?mMjGq91L~uuh*?#F;8JXwyN^2fTs(19=9_1;POy4D4BFlsAU! zqzsc2J|T#iQ7aF`*-B%O8*F z51Grqq&ELAidGZ82mV%MUcHw8lCrNhnE$2P_e_-Z2d#yx{cXdwr5Sh2hElXcAJL4X z^CG335Y9q`^z{~BH}}yv1QBt&D>YJ}I3$da{W^}l#YlbfrSn5?Gz@Tqe`Lt+s|M{) z^N&hN>*-KXB3|%qUYpc(OPSpKiD7l>BJgRV)?aOUV^$p17*|Wap9Ato!Ee$hmv?pD zTg7qxt^5X(M|A-VrVaLaZ)Kq%zP<>~HiiR(dyZGgmYQpFjDx#f)OWiO0ajXgx51CH zP)xa6&`<*4&e9c5ux7+SNqzj;)cCjt0OtYenL10odh))XO0N?mWQ@k6-)^iy6@YSo zYyx`s51DyVS(?%R;i!P&*Ki!P0<~3kyR61i{av8_H_CKDR4^dh9#V~&v=6y!frE?+ z(a=epsTx1e6rit%W6Hz4$Um9;Ml&&MH3Np0!d$D%r08Gq1-Zz?1&x|tBUL&^4p-;! z%M%WSSw!(aD7UyXwaA}@p{QI1jQ(W>O9}dSRW~8xJjssbD{D%9>%kwmy z;%RnaIABN>*C0Uv{UX8bN@wLXcWDt9!3+JEG#=mvG}-1uIkjl_D|CQ>jt-~^o&Oe- z?nXvjM?ct52pF(fZtCDk8%xY(ASo^`d$-&oiZ+J3bh1DBhW5&5s@7~%Z3V<=QveTl zkkQhMBy{@G4k{uS$!YPhB-`-$=bSD!kll~)y65M-YlGeS2bXqz7Cp{gdfykd;5O44 zS`L#x!Pb+Vda{KXn^fI61%EyFhSN3kWP#?^NObFjYxq3980#LbgMZ)e&KeEnuBQgh zGVhpYGy1+Tqr35qsRsY<^vE(HhkU{U??);+mAAb)4DdL$3vpN>tn`tY((j}m^lVNN z1w>6X>dVX!ek9!vxN$s)n-b-x^C5*jKto^PYb+)vyN!^r_{IC%+_Ie%6H@GTw7dUy z9ko^ua;fSV$>ev={fxt)Ou+NIzSz#X9e7BpQRS4@*c3bxJF2GB7%+HGv=ZR5KHc;D zNUDct(SESKu%x$Z$YKcDuJ6KnkeJK3D|%dxXs}^>ZKnGG{R~-Gmhd>6+ zJKttuC>Azy#OAbCExDnrkEYY~u6yhx;pfZq?axvEDj85)>ny5ej48~hab2aSVuE{w z0y|KS5BW-kPr~PU5lB;&84kcBXM)gs>CNqn5jn;XtzQ2QS4eUXdh49R#rKdfLl);_ zW1?~Ud7Dcu5u^{@7kCeY#EcWd{L*Y?hcd#hWpfnDr+oAc%mK5h<{6TD$)lxG5(q+dK6A7P zJ~z1POZ<*YqbA1rIUwBCAw>45_Ve)~&F+~*SQix?$Y(z%814HEbl-w0FZ?^Naa*Gq z;45mOl5cn);*h}>;3Ju7tMsdHXGB#OW;JefMVa6ZKT(W_ zN~KrkYB6Zp;lx1G^^FNXrAHe-GLjyAgBaDMM{$ zjc0P#0PGgUZpkGA7^gAZ^{$gsY5V>6HAe#Fy7Po>oXIxmiwji@006gmaQpIAxlHW3 zoHmD$k#HLb5G{9M-kG&S3h#7JgOa>N66$Wmr=l~cz8#3rQ&&VfJjN0Kk0mo#pSg+NO1_ zqZllc=DvUWampgzbpI37R0*i&X>6HYaX%#d9VcYm65KYBC>&K|0D$EXNsS-D^q!ag zSXEq;V)`_JG~d`HFv%ZG*sOM@c9Fgs?P_BiXfZu*aefrYP%XG1iBI z;Nji93AMq>4HbP%M9g3}L-+gdoY{t3*7w4j;(`K$L)BQ&}7UKoAoja~a(YK-al z+|!G<*ar~d<{;u%7OrOr9iaX))@yBDM^p6Bc-X@=PG+*LlGdL2m9=8xXodZ)z8#F@ z(GHWd_2wz=qj0v_#*knKtM*>djyBPS`x`N^luLGF8DVE)p2zA}i}NCbsTR&2wlNtv z;>^V(d3U-uoicPTyFNlwC05T|+ZfIvjjAWTWjDcriXVnc8!70k0@P=@p{XL;QZfim z7=}!@8X)zE@Ns^q*^fc|aQZP&*=*izcJkP{TkZ%Q|ios2m z3-vkKzW0en+rESi`UtW*anuE?9v;s6eAr=^6|BDpVC6dxgB`HNK7;@l(5={dHfCn- z&Y7(Gl~d&BeS;>1Jz$PaP8CgPzNaQTHSYqS(M$vNU$fdmV3;te15MoFb(P0~sbye% zO3QhqO~Q|CT&~j#^bjFPxfq|ccJf#7kBe#QPrSx;q69s>dE+phF0@N8SQ+LN&p~63ET9Ks1D5a*qeB(>E#< zWbrVWltsf3JfTuKfj(06wRkkGrtBpwGT&OnMnJv6G&A_n3681cG5R~~cGEgdRFHp-Fv zMSG}{4h1rblB(|k^2ZuNZIM48A zKMaDi)?-&dQ=SR7%xYrc5k72v(lc)VzJI;_f!F)1a}8oZ`AdB6&0(i||M4{BB)40v zm0B+a+?t91TvQJF06~3#(m=K~2mnye9aqO~_?in5st3ZG_HJR$Gd6!e17xT0&(&fT zFmIXy%)C0$E1CTudDG7m7l9~WJ-gDIY|4Cq13?#lGnYBH)EmbSQa1hgctYdAs`gAC zwv}lm$!yC3gNyyN{pd?JD{s1b_6GJ5U^oNk5_fuhXP@#ve1agYN1h4k1(5U)+yP)C zlL8~-$oe~ynElrEgBhzEh0ia9&mjQmGp62{*Bii9(rknqstZ7k!@~(TmEcG0hk=|) zTGa^rm{|Aj`u@cl4Ge^+gm1{%L*T=b4zI7#-+lf(XXfq?^@Hel`pgQT&%BI>op7m% z58c0A)jH$BiHy5pwQ!ni-%lbb8azb32{_|XfmMJ&{D(bk?RQ16AK-$3!mGeYiWyWP z$v8J_EfyYKpD(@`ioCf=#It6eaUWn8c?LgNo?wx8o-G6R!5nUj|i+qgT(7 zSEJ_@y=b5QQw@;o5!tVs`zJZ*zQg0|dO4<|;T*NK>7*`nYCuxz-hCd^tnr>qD z4>x^ryFO5_JHq&hXHd&C_?=%ZyvAUABPs+aya=BKs1B+mgC4Hb%cdhUw=+RFg_NpQ z6G0s8+xnaWmRs2)(P5y$H{cKk9xlPme=m@*1pGO2X^r*jrOn{~)JbZowL4Uk~R)+(tf4!l+aAE<9THw?Hk@jYm!2UV*U^82~ zLgdECDS^w<+-FI>$e}mq&fme#3Vl?eKm7Z$!qk=s?F!Vi>Y=8y!Av3Wmo2xab_=Mc0#L98CUNvWv|7dFCc2v5BuC@d?c! zBozVyr_QpX+m0jirI9iZvKsSRHB)4nKEEH>!knTjejh)cBEmmYB%r-i8%jJ%TTWvs z*Fa8qD4>+SK0A4av(j?n?83AeTwUa7MB2*C)5yTt_mP|q%Jr!VQM~_SSpO-cY6Wt= za4>=L$4%iT-P4#BFe)pZBX zrys&HAw%*8(N5wDd`Dwo>{?;DuFszP7RWNcVicF5DDs=^vepIUwoFcqW8%+HEa6B% z(@FtZ!zMnB z8fMc3N8ZdQ%o<%zc5M+4*BLo)XV)+Y=u#el4;E}#vpf;dANaf$M4dT+Gi7VhGK&^R z3%S?}NS*G?cIq17W;1K??26A_y;a|C}k&DSXBU|N0?n{=SoFOzovKL><5SB{J^EC|I*PwPdW^ zfSFoKTE_u#-YyNqKJC@NiBsYu{(Jh>f*)%LoSqhs(il=EHh`zFSJ8~|ENBkL7(l3w zM?DR?I`bs-c-}2!3S#)@y51PG#xHJ-1Azx+O_LPfv6`yLQsDfMm`C&2!W>D#j^J3X z7KOi~GxO6jmRc=HM@Sg*&>2CBhVsjyH~Hz81knL&GyZvV=LXXaz_YD?Z$mgeQi^}; zLfqZ(^XTWWTQ29%&yw>BTs3io$VB9Z^h1xMZxX?UAqMW@Z?@PzLq5yGcC0)guC#V! z)?UVMisL^hME!Yrd`VqJ@J+{K4zYo1EAUAtbUL7erhyZo3z{jP0(+jX^(u&YTVw3tMLV_u&N{Q6y53 zo@U64;opx8ohw-<0IsOBACf|6n#97t91^%RK9t^!w98OrO*O4E;=zv4Tn#B60A27= z_$?y#@TLwxXqj(yXq8X|FAQcvn!;f>g!R*R{pAdK$eE|UT=6D>f*@{+R%R`}!Vp+L zF9%;O0*r=4P+1^6Cn_@M;_$O5g2y_6%ia;rF|xRU`JNri!TpbTE!V(}_lyQ3({-k4 zWy)fiI>Da`MyfP2NgR$ZGGla8m_Cgl2ik-`PP%h-PSS<;R%RKW$S^pd;c^A6*SYrx zFI5oEbv~NEKbjKDz3(kNYNGI{mURNogkYrCsOw-_aHh;7#B_SK4NgHC@~us*NqaJy2(jwXoC*e!frj z@EGt=_Vah!nJ%?-(H`d3iG`OYhMOI;j^p2|+*T*}2oWB~8yv@NU^bdm)o*2L$s~z| l@yUY7H4LPHjT{z8#9gi~iz+eQCp@g#DXWu($1mObzW}lY>lOe2 literal 0 HcmV?d00001 diff --git a/docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_add_relations_form.png b/docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_add_relations_form.png new file mode 100644 index 0000000000000000000000000000000000000000..52e688357a360add06d31e16bf40339df6e1dcb7 GIT binary patch literal 39240 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�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%0A=*@1KNw=QZuN;+QTK;37MDVUhVKL6W-F<#O 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 a7ZJR_U`wfvWB*;#PEJZ$vQpgS>;D5n={zt1 literal 0 HcmV?d00001 diff --git a/docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_table_configuration_filtered.png b/docs/user-guide/work-packages/work-package-relations-hierarchies/openproject_user_guide_wp_table_configuration_filtered.png new file mode 100644 index 0000000000000000000000000000000000000000..c46bc837398782da787c8b6535957b4c9fb29349 GIT binary patch literal 56647 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